在没有t4代码生成器的情况下创建实体框架(如vs 2010)

Ari*_*ian 3 c# entity-framework

我想使用VS 2015基于数据库创建实体框架模型.

有一些问题:

1)当我想创建模型时,我收到此警告:

在此输入图像描述

2)当我创建模式时,一些文件生成像T4.

在此输入图像描述

3)生成的类没有数据注释,如:

[EdmEntityTypeAttribute(NamespaceName="SomeModel", Name="tblCode1")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
Run Code Online (Sandbox Code Playgroud)

4)在我们的小组中,有些人拥有VS 2013或2010,他们不能使用这种类型的模型.

如何使用VS 2015创建模型,如VS 2010或2013而不使用T4(仅下面的2个文件)

在此输入图像描述

Iva*_*oev 9

简短回答:

您需要将" T4 " 的Code Generation Strategy属性更改为" Legacy ObjectContext ",并从Solution Exporer中删除节点.edmx.tt

答案很长:

以下是所需的步骤:

(1)假设您首先选择" Add - > New Item - > ADO.NET Entity Data Model - > EF Designer from database ".

(2)遵循" 实体数据模型向导 ".接下来是非常重要的.当您进入要求使用EF版本的屏幕时,请确保选择EF 5.0,否则T4模板将是您唯一的选择:

在此输入图像描述

(3)完成向导.对第一个屏幕截图的安全警告说好.项目结构看起来就像是你的第二个截图.

(4)edmx在设计器中打开文件.查看属性窗口,有一个属性Code Generation Strategy,默认为" T4 "

在此输入图像描述

将属性更改为" Legacy ObjectContext "

(5)从解决方案资源管理器中删除YourModel.Context.ttYourMdel.tt节点,然后就完成了.

有点无聊,但做你想要的.缺点是你只能使用过时的EF版本,即将推出的EF7将会退役edmx,因此可能是开始考虑转向Code First方法的好时机.但在此之前,希望上述内容有助于保持您当前的流程.