我想使用面向完整.NET框架的.NET Core 2.0构建API,以便我可以使用Entity Framework 6和.edmx文件。这可能吗?如何注入.edmx文件生成的DbContext?
我想这样做,因为我的项目使用了很多存储过程,我不想继续手动执行它们。我是.NET Core的新手,所以你能给我的任何帮助都会让我感到沮丧。
答案 0 :(得分:0)
我明白你想要做的是使用新的.csproj文件格式,并定位任何经典的.NET框架,如.NET 4.5.2。
虽然项目本身工作正常,但您无法在“添加新项”对话框中选择“ADO.NET实体数据模型”,强制您从经典的.csproj项目复制现有的EDMX。
即使你这样做了,尝试更改设计器中的EDMX并按Save只会每次都给我一个TargetInvocationException
,而不是更新模型。
查看日志文件,原因非常清楚:设计人员无法使用新的.csproj文件。
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: The "Content" rule is missing the "AutoGen" property.
at Microsoft.Verify.Operation(Boolean condition, String unformattedMessage, Object arg1, Object arg2)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.DynamicTypeBrowseObject.<<VSLangProj-FileProperties-get_IsCustomToolOutput>b__38_0>d.MoveNext()
所以现在,如果你想继续使用设计师,那你就不走运了。
答案 1 :(得分:0)
您可以将edmx放在针对dot net framework 3.5或更高版本的单独项目中,但是请记住禁用自动生成的代码,因为生成的代码不适用于dot net core。 在另一个针对点网核心的项目中,使用t4模板.tt。这些文件将通过文件系统路径读取edmx文件。