我创建了一个MVC应用程序。我现在想在解决方案中添加一个新的类库项目,然后将EDMX文件添加到该项目中。
过去这很容易。但现在我必须在.NET Core和.NET Standard之间进行选择。但是看起来我选择哪个并不重要,因为如果我用这些框架中的任何一个创建一个类库,Visual Studio就不提供向它们添加EDMX文件的选项!我没有看到添加标准.NET Frameworks类库的选项。
那么将新项目添加到我的MVC解决方案,然后将EDMX文件添加到该项目的秘诀是什么?
注意:我可以选择将EDMX文件直接添加到MVC项目中。但我更愿意把它放在一个单独的项目中,我以前做过。
EF Core不推荐使用EDMX文件,我相信它也已从.net核心项目中删除。如果你需要这样做,你可能需要将它添加到正常的.net 4.5项目并复制文件,但这与使用.net core或.net标准无关。
你应该使用Code First,因为它更干净,更容易使用。
如果您已经拥有数据库,则可以参考此链接,它可以帮助您从数据库中构建类
https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db
@Jonathan:EDMX文件是旧的做事方式。 EDMX只不过是一个T4模板,它有助于创建edmx。
使用.Net Core,最好的方法是:1。创建一个.net核心库项目。从here添加entityframeworkcore nuget包2.使用此链接,从DB到generate your model's
不再支持EDMX的概念。
希望这可以帮助。
至少对于EF v6,如果使用EF迁移,数据库的每个(“状态”/“目标”)快照(存储在迁移历史数据库表和迁移文件中)都是等待解码的EDMX文件,已保存到一个文件,然后加载到VS(Visual Studio)。 ;)
它有点深入(或至少具有挑战性),但'System.Data.Entity.Migrations.Edm.ModelCompressor'可能会提供线索。
基本上,您可以从一个/相关的迁移中提取EDMX。但我同意应该使用Code-First方法来实施,EDMX现在只是一种开发辅助工具。