在同一项目中使用Entity Framework 3.5和4.0

时间:2011-02-14 22:13:35

标签: visual-studio-2010 entity-framework .net-3.5 .net-4.0 compatibility

我想知道如果使用VS.Net 2010,我可以在4.0版代码中运行Entity Framework 3.5代码。我有一个项目,我正在研究,其中一些目前使用EF 3.5编写。我想开始使用EF 4.0来添加我们添加到项目中的任何新内容,并且一次转换EF 3.5的东西。在同一个项目中同时运行这两个是否可行?

提前致谢。

3 个答案:

答案 0 :(得分:1)

不幸的是,不在同一个项目中。框架版本选择在项目级别,因此您必须将4.0代码分离为单独的项目,并从3.5引用它。

答案 1 :(得分:1)

使用EF代码将程序集从.NET 3.5转换为.NET 4.0(EFv1到EFv4 - 应该是自动的)并开始添加新功能 - 这是唯一可行的方法。正如在其他答案中提到的,您无法在单个项目中运行两个.NET版本。并排使用EFv1和EFv4将需要第二个项目与单独的EDMX等。以后合并这些项目将增加额外的工作,并且比转换当前版本更复杂。

答案 2 :(得分:1)

您可以在UI之上实现.Net 4更高的堆栈,并且仍然可以在较低级别使用.Net 3.5,如数据访问或业务层。

但是,您不能在UI等较低级别使用.Net 4,例如数据访问或业务层和.Net 3.5,除非CLR边界的更改被WCF分隔,允许每个更改在自己的AppDomain中运行。尝试使用.Net 4的.Net 3.5引用将导致编译错误,表示dll不存在。