数据访问层设计
Posted
技术标签:
【中文标题】数据访问层设计【英文标题】:Data access layer design 【发布时间】:2012-06-06 05:08:16 【问题描述】:我有一个 Web 应用程序和一个控制台应用程序访问数据库。 db 有 2 个表(A,B),其中一个(A)特定于 Web 应用程序。在编写数据访问层时,最好的方法是什么?从技术上讲,数据访问层应该提供对所有可访问数据的访问。这样做时,如果我们有单个访问层,则与 A 交互的方法会暴露给控制台应用程序。在同一个数据库中为 2 个表创建 2 个访问层是否有意义?有什么好的方法吗?
【问题讨论】:
【参考方案1】:我个人会将数据访问层单独放在一个类和 1 个(或尽可能多的中间类)中,以保存将由数据访问层进行对话/填充的业务实体。然后,控制台和 Web 应用程序与业务实体层对话。
例如:
数据访问层
持有ALL关于数据库、执行存储过程的方法、函数和查询的连接信息。本课程将与Table A and Table B
控制台 1 实体
这将包含使用数据访问层实例来检索适当信息的方法/属性。 IE。
public List<string> GetTableAContents()
var retVal = Data.RunStoredProcedure("sp_Table1Contents);
return retVal;
控制台应用程序
Console1Entity ce = new ConsoleEntity();
var contents = ce.GetTableAContents();
然后,您将根据与该应用程序相关的内容创建一个新的 WebApplication 实体类。这将提供一个三层架构。
【讨论】:
以上是关于数据访问层设计的主要内容,如果未能解决你的问题,请参考以下文章