我的 MS SQL 数据库中有 3 个表,并且我已将 EntityFramework(最新)添加到我的项目中,并在其中导入了这 3 个表。第一个问题是没有构建实体,所以我将“代码生成策略”从None
to Default
.
构建后我得到
X 已包含 Y 的定义
实体的所有属性。
当仔细观察时,它已经生成了部分前Users.cs
和一个部分User
在 在MainModel.Designer.cs
?
为什么会产生User.cs
?我在另一个项目中有类似的设置,并且 EF 设置为相同的设置,没有User.cs
?
Edit1:我可以看到一件事有所不同,那就是在失败的项目中设置为 False 的“使用强空间类型”,但是不可能将其设置为 true(灰色)?
你应该使用None
.edmx 文件的代码生成策略。或者删除MainModel.tt
and MainModel.Context.tt
模板,生成模型实体和上下文。
如果你使用Default
代码生成策略,然后实体和上下文将生成为MainModel.Designer.cs
文件。这将是标准实体,继承自EntityObject
,上下文将继承ObjectContext
。在 Entity Framework 5 中,我们可以生成 POCO 实体。整个生成过程是在 T4 模板中完成的,它生成上下文,继承自DbContext
,以及没有某些基本类型的 POCO 实体(好吧,仅对象)。
当您拥有模板并在 edmx 设计器中启用代码生成时,将生成两组实体。这就是名称冲突的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)