ADO.NET实体模型模板和脚手架之间的区别

问题描述 投票:0回答:1

我正在学习 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 文件中添加了一个带有元数据信息的连接字符串。

我的疑问是这两者之间的根本区别是什么?这两种方法在开发环境中都可以接受吗?

我们非常感谢您的想法和意见。

谢谢 彼得

entity-framework scaffolding asp.net-mvc-scaffolding
1个回答
0
投票

实体框架使用对象与数据库交互。实施 EF 有三种方法。

  1. 先写代码
  2. 数据库优先
  3. 首先是模型

根据你的问题。模型优先方法创建 edmx 和 tt 文件,而数据库优先方法从数据库表创建实体。

两者都适合开发。开发人员不太喜欢使用模型优先方法,因为在任何更改后管理 EDMX 文件都具有挑战性。

© www.soinside.com 2019 - 2024. All rights reserved.