繁体   English   中英

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

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

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

所以现在我想从C#建立一个数据访问层。我不知道如何将实体框架数据object声明如以下代码关联到map我的SQL data.tables,因为使用以下代码将是一个代码优先方法和实体框架将为我生成 SQL 代码。 我不希望 EF 生成 SQL 代码,因为它有很多错误。

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

我查看了以下参考资料,这让我望而生畏,因为很多参考页面都已过时(不再提供下载,Visual Studio 的用户界面已完全更改),有些涉及 MVC这让事情变得不必要的复杂。

https://learn.microsoft.com/en-us/as.net/web-forms/overview/data-access/introduction/

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

那么,如果您明白我的意思,我该如何手动显式编码 SQL 代码和数据 object 代码呢? 我的目标是能够model我的数据对象根据SQL表调用SQL中已经创建的存储过程进行各种操作。 请让我知道我可以参考的地方。

据我所见,您正在尝试采用 databasefist 方法,因此您需要执行以下操作:

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

像这样

然后运行这个命令

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM