将EF6与ASP.NET Core一起使用

时间:2016-09-09 13:49:01

标签: entity-framework entity-framework-6 asp.net-core entity-framework-core asp.net-core-1.0

我正在开发一个新项目 - 我希望使用最新的.NET Core。

通过阅读文档,我发现了Entity Framework Core和Entity Framework 6.x Comparison之间的比较。 Here

我需要的一些功能如下:EF Core不支持ASP.NET Core Web Application。所以我不能使用它,因为项目中需要空间数据类型。

再次阅读文档,我遇到了如何使用EF 6.x和.NET Core的链接:Here

在文章中提到(Here):

  

在开始之前,请确保针对完整的.NET进行编译   您的project.json中的框架作为Entity Framework 6不支持   .NET核心。如果您需要跨平台功能,则需要   升级到Entity Framework Core。

我真的不需要我的项目是跨平台的。

关于如何在ASP.NET Core中使用EF6,文章不是很清楚。

我创建了一个新的netcoreapp1.0

然后我使用Nuget Package Manager安装了EF6,并收到以下错误

enter image description here

我从project.json中的框架中删除了net46并添加了mutate_if作为框架,这删除了EF的错误,但现在我收到了另一个错误。

enter image description here

  1. 那么如何在ASP.NET核心中使用EF6?

  2. 当我使用EF6时,我必须删除对.NET Core的所有引用     这意味着我不使用.NET Core?除了无法跨平台运行之外,还有哪些缺点?

1 个答案:

答案 0 :(得分:3)

要停止第二个错误,您需要从dependencies的{​​{1}}部分删除以下内容:

project.json

作为参考,referencing the full .NET Framework and Entity Framework 6 from an ASP.NET Core project的文档有一个完整的"Microsoft.NETCore.App": { "version": "1.0.0", "type": "platform" } 示例。

删除对.NET Core的引用并不意味着您没有使用ASP.NET Core。您只是在更改ASP.NET Core项目将在其上执行的目标运行时平台。

将ASP.NET Core与完整的.NET Framework一起使用,您可以获得新项目结构和统一故事的好处,用于构建Web UI和Web API(例如统一project.json类),并且您还可以获得访问权限对于成熟的,功能齐全的.NET Framework,可以使用尚未移植到.NET Core的依赖项和NuGet包,例如Entity Framework 6。