如何从数据库优先方法创建数据访问层对象?

How do I create a Data Access Layer objects from database first approach?

我从头开始用我的 CustomerDetails、ProductDetails、OrderDetails 和存储过程建立了一个 SQL 数据库来创建新客户、新产品和订单。

所以现在我想从 C# 构建一个数据访问层。我不知道如何关联 entity framework 数据对象声明,例如下面的代码来映​​射我的 SQL 数据 tables,因为使用下面的代码将是代码优先的方法并且entity framework 将为我生成 SQL 代码。我不希望 EF 生成 SQL 代码,因为它有很多错误。

public int ProductID { get; set; }
public string ProductName { get; set; }
public string Description { get; set; }
public int? OrderID { get; set; }

我已经查看了 following reference,这让我望而生畏,因为很多参考页面都已过时(不再提供下载,Visual Studio 的用户界面已被删除从那以后完全改变了),有些涉及 MVC,这使事情变得不必要地复杂。

https://docs.microsoft.com/en-us/aspnet/web-forms/overview/data-access/introduction/

我还使用 Table 适配器检查过。但它不允许我创建数据对象。所有数据对象都是自动生成的。

那么,如果您明白我的意思,我该如何手动显式编码 SQL 代码和数据对象代码呢?我的目标是能够根据 SQL table 为我的数据对象建模,并调用已在 SQL 中创建的存储过程来执行各种操作。请告诉我哪里可以参考。

据我所知,您正在尝试使用数据库优先方法,因此您需要执行以下操作:

首先您需要打开包管理器控制台。 那是从
查看 -> 其他 Windows -> 程序包管理器控制台。
您需要确保默认项目是您要使用的项目。

然后运行这个命令

Scaffold-DbContext -Provider Microsoft.EntityFrameworkCore.SqlServer 
                   -Connection "Data Source=.\SQLExpress;Initial Catalog=DatabaseName;Integrated Security=True"

将“数据源”更改为您的 SQL 实例,并将“初始目录”更改为您的数据库名称

(这仅在您使用 SqlServer 时有效)