生成实体的自定义更改 类
Custom changes to entity generated classes
我首先使用 VS 2013、EF 6 和数据库。
我已经从数据库生成了实体,并且想关闭自动生成,因为我想将自定义属性添加到生成的 类。我的 类 是使用 T4 生成的,我该如何进行自定义更改/禁用自动生成?
谢谢,
你可以拿一个code-first approach (EDIT: @Steve Greene's helpful link)然后自己写类。
如果你想保持自动生成,你将不得不编辑.tt文件本身。编辑文件并不有趣,尤其是在没有智能感知的情况下,六个月后当你试图维护代码时试图弄清楚别人对它做了什么就更没有乐趣了。
最后,您可以对 .tt 文件进行微小的更改,以将您的实体 类 声明为 partial
并将这些 类 在其他文件中扩展为你选。
3 是我在过去的一个项目中采用的解决方案,我不能说我推荐它,因为它导致实体膨胀 类,其属性不一定代表中的列数据库。此外,它鼓励本应存在于我们业务层中的代码潜入我们的数据层。我仍在清理那些决定留下的烂摊子。
2 至少让你的 类 更干净,并阻止人们随意更改实体 类,但同样,必须有人能够弄清楚你到底做了什么。 tt文件...
1 我的经验较少,但在我看来这是最干净的方法。您仍然需要努力妥善维护您的 类。
我首先使用 VS 2013、EF 6 和数据库。
我已经从数据库生成了实体,并且想关闭自动生成,因为我想将自定义属性添加到生成的 类。我的 类 是使用 T4 生成的,我该如何进行自定义更改/禁用自动生成?
谢谢,
你可以拿一个code-first approach (EDIT: @Steve Greene's helpful link)然后自己写类。
如果你想保持自动生成,你将不得不编辑.tt文件本身。编辑文件并不有趣,尤其是在没有智能感知的情况下,六个月后当你试图维护代码时试图弄清楚别人对它做了什么就更没有乐趣了。
最后,您可以对 .tt 文件进行微小的更改,以将您的实体 类 声明为
partial
并将这些 类 在其他文件中扩展为你选。
3 是我在过去的一个项目中采用的解决方案,我不能说我推荐它,因为它导致实体膨胀 类,其属性不一定代表中的列数据库。此外,它鼓励本应存在于我们业务层中的代码潜入我们的数据层。我仍在清理那些决定留下的烂摊子。
2 至少让你的 类 更干净,并阻止人们随意更改实体 类,但同样,必须有人能够弄清楚你到底做了什么。 tt文件...
1 我的经验较少,但在我看来这是最干净的方法。您仍然需要努力妥善维护您的 类。