加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 创建没有t4代码生成器的实体框架(如vs 2010)

发布时间:2020-12-15 23:47:51 所属栏目:百科 来源:网络整理
导读:我想使用VS 2015基于数据库创建实体框架模型. 有一些问题: 1)当我想创建模型时,我收到此警告: 2)当我创建模式时,一些文件生成像T4. 3)生成的类没有数据注释,如: [EdmEntityTypeAttribute(NamespaceName="SomeModel",Name="tblCode1")][Serializable()][Da
我想使用VS 2015基于数据库创建实体框架模型.

有一些问题:

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

enter image description here

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

enter image description here

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

[EdmEntityTypeAttribute(NamespaceName="SomeModel",Name="tblCode1")]
[Serializable()]
[DataContractAttribute(IsReference=true)]

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

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

enter image description here

解决方法

简短回答:

您需要将edmx的代码生成策略属性从“T4”更改为“Legacy ObjectContext”,并从Solution Exporer中删除.tt节点.

答案很长:

以下是所需的步骤:

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

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

enter image description here

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

(4)在设计器中打开edmx文件.查看属性窗口,有一个名为代码生成策略的属性,默认为“T4”

enter image description here

将属性更改为“Legacy ObjectContext”

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读