如何将EF CLass库添加到将与.net 4.5和dotnet core一起使用的解决方案

时间:2018-06-22 18:22:05

标签: asp.net .net entity-framework webforms .net-core

我目前有一个使用.net 4.5的webforms网站。 我想添加一个带有实体framewrok的类库。 我想确保该类库可与dotnet core和我现有的webforms项目一起使用。

使用.net的所有版本,这非常令人困惑。 据我了解,dotnet标准可以用作这种情况的中间件。但是我不确定这是真的。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

是的,您必须使用.NET Standard和Entity Framework Core。 .NET Framework将能够与.NET Standard接口

我将从https://www.youtube.com/watch?v=ECNLyvxLnuQ开始

关于标准的文档并不多,但这会给您一些概念上的理解

答案 1 :(得分:0)

请注意,“ ASP.NET vs ASP.NET Core”和“ Entity Framework vs Entity Framework Core”是完全不同的框架,尽管它们的名称相似。

ASP.NET和实体框架针对.NET Framework,这意味着它们只能在.NET Framework上工作。

ASP.NET Core和Entity Framework Core以.NET Standard为目标,这意味着它们可以同时在.NET Framework和.NET Core上工作。

WebForms基于ASP.NET,并且在ASP.NET Core上没有(也没有计划的)迁移,因此旧的WebForms项目将永远无法在.NET Core上运行。 从ASP.NET MVC迁移到ASP.NET Core MVC的任务很多,而且WebForms甚至是不可能的。

如果您确实需要在.NET Core上运行项目,则将对整个项目进行完整的重构:

  1. 将WebForms项目重构为ASP.NET Core MVC(完全重新开发整个项目)
  2. 将您的Entity Framework数据定义重构为Entity Framework Core(它仅支持代码优先和数据库优先,再也没有模型优先)
  3. 确保所有引用的.NET库都以.NET Standard或.NET Core为目标,并在nuget上对其进行引用。如果没有,请重新定位替代方案。
  4. 如果计划将项目托管在Linux服务器上并引用某些本机库,则必须获取等效的.so库而不是.dll库。