.NET CORE 2.0 API带有EF6和.EDMX文件



我想使用.NET Core 2.0构建一个针对完整.NET框架的API,以便我可以使用Entity Framework 6和.EDMX文件。这可能吗?如何注入.EDMX文件生成的DBContext?

我想这样做,因为我的项目可以使用很多存储过程,而且我不想继续手动执行它们。我是.net核心的新手,所以您可以给我任何帮助。

我了解您要做的是使用新的.csproj文件格式,并定位任何经典.NET框架,例如.NET 4.5.2。

虽然项目本身正常运行,但您不能在"添加新项目"对话框中选择" ado.net实体数据模型",从而迫使您从经典.csproj项目中复制现有EDMX。

,即使您这样做之后,尝试更改设计器中的EDMX并按下保存只会给我一个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()

现在,如果您想继续使用设计师,您就不幸了。

您可以将您的EDMX放在一个针对DOT Net Framework 3.5或更高的单独项目中核。在针对DOT NET核心的另一个项目中,使用T4模板.tt。这些文件将通过文件系统路径读取EDMX文件。

最新更新