我有一个网页应用程序和一个控制台应用程序,它们都访问同一个数据库。该数据库有两个表格(A、B),其中一个表格(A)是特定于网页应用程序的。在编写数据访问层时,什么是最好的方法?从技术上讲,数据访问层应该提供对所有可访问的数据的访问。这样做,如果我们只有单一的访问层,则公开与 A 交互的方法将暴露给控制台应用程序。在同一个数据库中创建2个访问层来访问2个表格是否有任何意义?什么是一个好的方法?
我有一个网页应用程序和一个控制台应用程序,它们都访问同一个数据库。该数据库有两个表格(A、B),其中一个表格(A)是特定于网页应用程序的。在编写数据访问层时,什么是最好的方法?从技术上讲,数据访问层应该提供对所有可访问的数据的访问。这样做,如果我们只有单一的访问层,则公开与 A 交互的方法将暴露给控制台应用程序。在同一个数据库中创建2个访问层来访问2个表格是否有任何意义?什么是一个好的方法?
我个人认为应该将数据访问层单独放在一个类中,并且再使用1个(或多个中间类)来保存业务实体,这些实体将由数据访问层进行通信/填充。控制台和Web应用程序随后与业务实体层进行通信。
例如:
数据访问层
包含有关数据库的所有连接信息,以及执行存储过程、函数和查询的方法。此类将与表A和表B
进行通信。
控制台1实体
此类将保存使用数据访问层实例检索适当信息的方法/属性。例如:
public List<string> GetTableAContents() {
var retVal = Data.RunStoredProcedure("sp_Table1Contents);
return retVal;
}
控制台应用程序
Console1Entity ce = new ConsoleEntity();
var contents = ce.GetTableAContents();
然后,您将根据与该应用程序相关的内容创建一个新的WebApplication实体类。这将提供三层架构。