EF 4.1模型第一代码生成工具或模板

时间:2011-05-25 00:20:32

标签: entity-framework ef-code-first entity-framework-4.1

是否有直接从数据库生成代码的模板或工具?我想使用模型第一种情况,但不希望.edmx文件用于映射。有一个包含许多表的数据库,我不想为此编写所有类(我很懒)。那么,是否有一个模板来生成代码并设置注释/使用流畅的api来自动地从现有数据库定义关系等?

这在以下场景中也会有所帮助。说,我正在使用带有POCO的.edmx,现在我不想在.edmx文件中使用映射。我想要代码中的映射。有一个工具或模板来生成现有数据库代码中的映射会很棒。

我开始学习EF 4.1。我认为“代码首先在版本2中成为模型,即在创建/发布数据库之后(在版本1中)并且需要一些更改”。这是真的吗?我很乐意听到一些评论。感谢。

3 个答案:

答案 0 :(得分:8)

查看刚刚发布的EF Power Tools CTP1的“逆向工程师代码优先”功能。

答案 1 :(得分:0)

要生成类,可以使用POCO t4模板生成。查看this详细链接,它将帮助您入门。这样你就可以获得所有生成的类。

对于映射,您可以对Entity Framework使用仅代码样式,但使用POCO模板生成类和上下文将比自己创建映射具有更多优势。想象一下,添加新表或修改表,它将涉及更多工作。但我一定很想知道是否有任何地图绘制工具。

答案 2 :(得分:0)

使用Oracle数据库时,您可能正在使用EF-provider Devart dotConnect for Oracle。在这种情况下,以下信息将帮助您选择工具。

Entity Framework Power Tools的第一个版本还包含使用现有数据库的流畅映射生成Code-First模型的功能。尽管有用,但这种功能在灵活性方面受到限制:开发人员只能设置连接字符串;然后,从用户可用的所有数据库对象生成类。这并不是非常方便,因为在Oracle中,用户可以使用包含数百甚至数千个表的大量模式。

Devart ADO.NET提供商的用户可以利用Entity Developer(一个与Devart提供商一起提供的EF设计器)的令人印象深刻的设计时开发功能,而不是诉诸这种有限的功能。也可以选择EF Power Tools中提供的Database-First方法和Model-First方法,在EDM设计器中创建Code-First类。

与EF Power Tools相比,开发EF Code-First模型的Database-First方法还允许选择模型中必须可用的对象,设置用于生成类名和属性的命名规则等等。此外,可以在设计者中修改和改进生成的模型。

为了更好地满足开发人员的需求,Entity Developer中用于C#和VB的代码优先代码生成基于T4模板,该模板易于访问,可以在Entity Developer中包含的功能丰富的T4编辑器中进行修改。 / p>

有关Entity Developer中Code-First开发的更多信息,请参阅“Entity Developer - EF Code First DbContext Template” http://www.devart.com/blogs/dotconnect/index.php/entity-developer-ef-code-first-dbcontext-template.html