对实体生成的类的自定义更改

时间:2015-03-06 20:37:39

标签: c# vb.net entity-framework-6 poco t4

我首先使用VS 2013,EF 6和数据库。

我已从数据库生成实体,并希望关闭自动生成,因为我想将自定义属性添加到生成的类中。我的类是使用T4生成的,如何进行自定义更改/禁用自动生成?

谢谢,

1 个答案:

答案 0 :(得分:1)

  1. 您可以选择code-first approach(编辑:@Steve Greene's helpful link)并自行编写课程。

  2. 如果要保留自动生成,则必须编辑.tt文件本身。编辑文件并不好玩,特别是在没有智能感知的情况下,并且试图弄清楚其他人在六个月后尝试维护代码时所做的事情就更没有了。

  3. 最后,您可以对.tt文件进行微小的更改,将您的实体类声明为partial,并根据您的选择将这些类扩展到其他文件中。

  4. 3是我过去的项目所采用的解决方案,我不能说我推荐它,因为它导致了膨胀的实体类,其属性不一定代表数据库中的列。此外,它鼓励应该在我们的业务层中生存的代码进入我们的数据层。我还在清理这些决定留下的烂摊子。

    2至少让你的课程更加清洁,并且不鼓励人们不断改变实体课程,但同样,有人必须能够弄清楚你对那个.tt文件做了多少......

    1我的经验较少,但在我看来,这是最干净的方法。你仍然需要勤勉地保持你的课程。