2012-07-19 68 views
0

从我的理解。在EF的数据库优先模式中。我们可以通过一些模板为实体类生成代码。如T4模板,DbContext生成器模板等,但我也可以在Designer.cs文件中找到相同的实体类定义。这是我的问题。实体框架中有多少代码生成模板

  1. EF代码生成器的用途是什么? Designer.cs文件具有所有明确定义的实体类。是否有必要逐个生成实体类代码?

  2. EF中有多少模板?他们有什么区别?

回答

0

EF电动工具允许您为现有数据库生成代码优先实体。

您将使用此数据库而不是数据库优先(EDMX)方法的原因是,从现在开始,您希望使用代码优先来管理数据库更新。这意味着您可以使用EF迁移,而不是直接对数据库进行更改,然后更新EDMX。

对于从数据库生成代码文件的其他应用程序而言,所有EF方法最终都会生成代码(不仅仅是代码优先),但只有代码先让您控制生成的类(尽管您可以在生成EDMX时使用部分类)。模型和数据库第一种方法依赖于在模型/数据库更改时重新生成类。

据我所知EF电动工具是最好的方式(也是唯一微软的方式),以从现有的数据库

+0

嗨产生代码优先模式。朋友。目前为止。 EF电动工具只支持Sql server和C#。这是对的吗? – 2012-07-20 12:16:00

+0

看起来像你的权利,目前似乎只有c#支持。 – 2012-07-20 12:22:42

+0

但我只是发现一个有趣的想法,它将与第三方数据库和提供者结合起来。例如,您可以使用它来反向设计SQL Server数据库,并使用Devart的dotConnect库在Oracle,MySQL,PostgreSQL或SQLite中重新创建它。 – 2012-07-20 12:25:36