我正在开发一个新项目 - 我希望使用最新的.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。
我真的不需要我的项目是跨平台的。
我创建了一个新的netcoreapp1.0
然后我使用Nuget Package Manager安装了EF6,并收到以下错误
我从project.json
中的框架中删除了net46
并添加了mutate_if
作为框架,这删除了EF的错误,但现在我收到了另一个错误。
那么如何在ASP.NET核心中使用EF6?
当我使用EF6时,我必须删除对.NET Core的所有引用 这意味着我不使用.NET Core?除了无法跨平台运行之外,还有哪些缺点?
答案 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。