我正在尝试从头开始创建一个项目。我将使用asp .net mvc4(使用asp net web api)和实体框架5进行数据访问(所有最新技术)
由于这是一个全新的开始,我一直在考虑将我的设计集中在我的模型上,而不是先创建数据库,然后创建EF模型,所以我会采用代码优先方法。
代码优先(据我所知)是你在模型第一种情况下丢失了EF为你做的所有脚手架(设计支持,轻松生成和维护实体关系1-1,1 * *, - 等) 问题是:在设计模型时,我可以使用哪些工具或模板或片段或其他任何内容来使我的生活更轻松?我希望这个过程尽可能轻松,因为它涉及很多重复(例如,FK关系总是相同的) 我应该使用DbContext还是别的什么?有没有某种方法可以先启动代码,但同时维护一个edmx模型,或者那些是互斥的?
谢谢!
答案 0 :(得分:3)
EF Code First的优点在于您不需要任何脚手架。您不需要EDMX模型,甚至不需要指定关系的确切性质,它们都基于约定。例如,您的类必须具有名为Id的属性,该属性将被视为表的主键。所有基于字符串的字段都生成为nvarchar(MAX)
。当然有些约定可能不是你想要的,Code First通过可插入的约定支持这个(你可以删除大多数约定并创建自己的约定)
你应该做一些基本的教程来了解Code First流程是如何工作的,因为它与Db First方法完全不同。