繁体   English   中英

Entity Framework 6如何支持.NET 4.0?

[英]How well does Entity Framework 6 support .NET 4.0?

这个问题是从以前的问题开始的,例如Entity Framework 6是否支持.NET 4.0?
我的问题具体是,如何在NotMapped和.NET v4.0中使用NotMapped数据注释?

我发现的大多数文章都假设开发人员也迁移到.NET v4.5或更高版本,其中数据注释命名空间已移至System.ComponentModel.DataAnnotations.Schema在于System.ComponentModel.DataAnnotations dll中。

.NET 4.0版本的Entity Framework 6直接在EntityFramework.dll包含NotMappedAttribute的定义。 它存在于同一名称空间中,即System.ComponentModel.DataAnnotations.Schema

但是,您需要确保拥有.NET 4.0版本的EF。 如果您的项目之前的目标是.NET 4.5,并且您当时添加了EF,那么您就拥有了.NET 4.5版本的EF。 将项目更改为.NET 4.0还不足以解决此问题。 您需要从项目中删除EF并重新添加它。

我解决了自己的问题(打开我的眼睛!)。 数据实体位于单独的项目中,该项目未包含对实体框架的引用。 在实体项目中安装相同的EF6 NuGet包可解决此问题。

更新:我有更多的EF6问题,所以我回滚到EF5,而是创建了一个新的ViewModel,其中包含我想要添加到原始实体的属性。 这保持了以令人满意的方式在上述解决方案中受到损害的关注点的分离。 它还反映了代码库中其他地方采用的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM