我正在学习 EF,发现了两种不同的实体模型文件创建方法。
第一种方法使用 Visual Studio 中的 ADO.NET 实体数据模型模板,创建 .edmx 文件、dbcontext 文件和 .tt 文件。
我在https://learn.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db找到的第二种方法使用脚手架技术,该技术使用如下命令
Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
第二种方法只是为 db 表和 dbcontext 文件创建类,但没有创建 .edmx 文件或 .tt 文件元数据信息。但第一种方法也在 app.config 文件中添加了一个带有元数据信息的连接字符串。
我的疑问是这两者之间的根本区别是什么?这两种方法在开发环境中都可以接受吗?
我们非常感谢您的想法和意见。
谢谢 彼得
实体框架使用对象与数据库交互。实施 EF 有三种方法。
根据你的问题。模型优先方法创建 edmx 和 tt 文件,而数据库优先方法从数据库表创建实体。
两者都适合开发。开发人员不太喜欢使用模型优先方法,因为在任何更改后管理 EDMX 文件都具有挑战性。