Database 数据访问层设计

Database 数据访问层设计,database,data-access-layer,Database,Data Access Layer,我有一个web应用程序和一个访问db的控制台应用程序。db有两个表(A,B),其中一个表(A)特定于web应用程序。在编写数据访问层时,最好的方法是什么?从技术上讲,数据访问层应该提供对所有可访问数据的访问。在这样做的过程中,如果我们只有一个访问层,那么与应用程序交互的方法将公开给控制台应用程序。在同一数据库中为2个表创建2个访问层有意义吗?做这件事的好方法是什么?我个人会将数据访问层分为一个类和一个(或尽可能多的中间类)来容纳业务实体,这些实体将通过数据访问层进行对话/填充。然后,控制台和We

我有一个web应用程序和一个访问db的控制台应用程序。db有两个表(A,B),其中一个表(A)特定于web应用程序。在编写数据访问层时,最好的方法是什么?从技术上讲,数据访问层应该提供对所有可访问数据的访问。在这样做的过程中,如果我们只有一个访问层,那么与应用程序交互的方法将公开给控制台应用程序。在同一数据库中为2个表创建2个访问层有意义吗?做这件事的好方法是什么?

我个人会将数据访问层分为一个类和一个(或尽可能多的中间类)来容纳业务实体,这些实体将通过数据访问层进行对话/填充。然后,控制台和Web应用程序与业务实体层对话

例如:

数据访问层

保存有关数据库、执行存储过程的方法、函数和查询的所有连接信息。本课程将与
表A和表B

控制台1实体

这将保存使用数据访问层实例来检索适当信息的方法/属性。即

public List<string> GetTableAContents() {
   var retVal = Data.RunStoredProcedure("sp_Table1Contents);
   return retVal;
}
然后,您将根据与该应用程序相关的内容创建一个新的WebApplication entities类。这将提供一个三层架构

Console1Entity ce = new ConsoleEntity();
var contents = ce.GetTableAContents();