如何从数据库优先方法创建数据访问层对象?
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 时有效)
我从头开始用我的 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 时有效)