2

我想知道如果使用VS.Net 2010,我可以让实体框架3.5代码沿着4.0代码运行。我有一个我正在开发的项目,其中一些目前使用EF 3.5编写。我想开始使用EF 4.0来添加新的项目,然后将EF 3.5的东西一次转换一次。在同一个项目中并排运行两个是否可行?在同一个项目中使用实体框架3.5和4.0

在此先感谢。

+0

在.NET 4上运行EF1代码有什么问题? – LukLed 2011-02-14 22:25:53

+0

我可以将我的EF 3.5代码转换为4.0,并通过修改代码来使用EF4功能来工作吗? – yougotiger 2011-02-15 18:24:22

回答

1

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

1

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

1

你可以像你的UI一样在你的堆栈中实现更高的.Net 4,并且仍然在较低的层次上使用.Net 3.5,比如数据访问或业务层。

但是,您不能在用户界面的较低级别上使用.Net 4,例如数据访问或业务层和.Net 3.5,除非CLR边界中的更改由类似WCF的分开,从而允许每个都在其自己的AppDomain中运行。尝试从.Net 4使用.Net 3.5引用将导致编译错误,说dll不存在。