我知道实体框架有数据库优先的方法。现在的问题是,它是否可以为我生成DAL(数据访问层)代码(而不是模型)。
在使用对象关系映射器(Object Relational Mapper, ORM)时,通常不需要传统意义上的CRUD代码。相反,它将这些操作抽象为更面向对象的操作。
例如,您不"插入",您将模型类添加到表中,然后保存更改。ORM自动生成使对象模型与数据模型匹配所需的SQL。
所以我的观点是,你的问题显示出对ORM的工作原理以及它们与数据模型的关系缺乏基本的理解。你应该多读点书
我不确定您所说的"DAL代码"具体是什么意思,因为这是一个相当模糊的术语。我认为实体类型是DAL的一部分。
当您使用模型优先或数据库优先的方法时,实体框架工具可以从您的model .edmx自动生成上下文类,它将继承自ObjectContext
。使用T4模板定制生成的上下文类很容易,方法是在网上找到一个已经从.edmx生成的上下文类,然后根据自己的喜好进行修改。
代码优先开发使用DbContext
,它通常不是自动生成的。请参阅Scott Gu博客上的这篇文章了解更多细节。