我想了解.NET中的poco生成器应该做什么。在我看来,他们应该是代码生成工具,它允许我从我的edmx文件中选择我想创建POCO的实体,并根据表的字段生成类,同时允许我自定义生成的poco名称,使它不同从我的edmx designer.cs文件中生成的类名称。比如说:我有一个名为Customer的表,它在edmx文件中被命名为Customers。现在,poco生成工具应该允许我创建一个名为say,BusinessCustomers的类。然而,尽管他们在生成类时没有允许我自定义生成的类名,但我注意到当从this example生成这样的pocos时,它们倾向于仍然是代码生成工具所拥有的类。生成的poco类是一个名为Customers的分部类,它基本上是edmx类的扩展。我不能有选择地选择我想要生成pocos的实体。因此,如果我对生成的类进行了更改,那么随时将新表添加到edmx文件并希望使用此工具创建新的pocos时,它们将会丢失。我当然可以将生成的类复制到另一个项目并从那里使用它们,但我不确定这是否是正确的方法。 在我上面的示例中,生成的poco类是一个名为Customers的分部类,具有虚拟属性,表中的每个字段都有一个。 edmx designer.cs被擦干净。我仍将使用我的代码中由该工具生成的类。如果我想要一个单独的poco类,我仍然必须自己编写它...难道不是poco生成器应该为我创建一组新的类,使edmx类完好无损吗?了解POCO生成器
在最低限度,我要的是生成对我来说类和一旦其与产生它做不会再去碰它的工具。如果我已经正确理解了ADO.NET C#POCO实体生成器,它不会那样做。有没有更好的工具,或者我应该坚持为我的需求编写我的poco课程?你怎么看?
对不起,如果我的问题有点混乱;我写这篇文章的时候对这个主题的理解有限,也许不正确。感谢您的时间...
顺便说一句,如果你要编辑T4模板,如果你之前没有做过,你可能会发现这个任务有点嘲讽。有一些不错的工作室插件可以帮助用智能感知和示例编写它们,所以请查看它们。 – masimplo 2012-02-12 22:12:48
生成的poco类是一个名为Customers的分部类,具有虚拟属性,表中的每个字段都有一个。 edmx designer.cs被擦干净。我仍将使用我的代码中由该工具生成的类。如果我想要一个单独的poco类,我仍然必须自己编写它...难道不是poco生成器应该为我创建一组新的类,使edmx类完好无损吗? – user20358 2012-02-12 22:16:01
不,POCO生成器应该将代码从edmx文件中分解出来,然后放入单独的类中,您可以1。通过使用T4进行自定义,2.将它们放在一个不同的项目中,这样实际上使它们成为你的类而不是EF4类,并按照你认为合适的方式使用它们,即使你决定转储EF,3.扩展它们或者在不同的你认为合适的文件。 – masimplo 2012-02-13 22:38:44