[英]Database First + EF + POCO; T4 Code Generation?
我正在使用数据库第一种方法,使用实体框架,我刚刚阅读了有关POCO
In EF的文章。 现在:如何直接从数据库生成POCO模板?
namespace My.Domain
{
public class Entity
{
public virtual long EntityId { get; set; }
public virtual string Example { get; set; }
public virtual long NextId { get; set; }
public virtual bool Lame { get; set; }
}
}
事实上,我非常希望能够生成我手动生成的相同内容,只需一步:
ObjectSet
添加到ObjectContext
,每个表都包含它的字段,属性getter和creation。 POCO
实体,最好是在另一个项目中,所有属性映射包括关系,标记为虚拟的属性以启用代理,显然在我选择的命名空间中。 有没有一种“简单”的方法来使用T4模板来实现这一点,还是有其他工具可以做到这一点? 也许某种Custom Tool
而不是EF附带的Custom Tool
,但这是POCO
导向的?
只要您使用EF 4.1,那么生成POCO对象就是“内置”的。 请参考这篇文章:
http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx
这只是一个小小的回归到更古老,更冗长的方式
第一种方法现在更多的是建议的方法,但我想我还会给你更旧的方法:)
希望这符合您的需求:)。 我不确定在指定的命名空间和项目中创建它。 这听起来更像Code First(你可以做到并完美地连接到数据库?),但你可能能够将生成项目弯曲到你的心血来潮。 不过,这应该是朝着正确的方向发展
创建POCO实体,最好是在另一个项目中,所有属性映射包括关系,标记为虚拟的属性以启用代理,显然在我选择的命名空间中。
实体框架默认模板不能放在单独的程序集中,因为它需要配置和EDMX文件。
有没有一种“简单”的方法来使用T4模板来实现这一点,还是有其他工具可以做到这一点?
是的,实体接口生成器
https://entityinterfacegenerator.codeplex.com
该项目包含自定义的T4模板,可以为DbContext类和实体类生成接口和属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.