【问题标题】:C# Design How to Elegantly wrap a DAL classC# 设计如何优雅地包装 DAL 类
【发布时间】:2011-02-14 00:13:21
【问题描述】:

我有一个应用程序,它使用 MyGeneration 的 dOODads ORM 来生成它的数据访问层。 dOODad 通过为数据库中的每个表生成一个持久性类来工作。它是这样工作的:

// Load and Save  
Employees emps = new Employees();  
if(emps.LoadByPrimaryKey(42))  
{  
    emps.LastName = "Just Got Married";  
    emps.Save();  
}  


// Add a new record  
Employees emps = new Employees();  
emps.AddNew();  
emps.FirstName = "Mr.";  
emps.LastName = "dOOdad";  
emps.Save();  

// After save the identity column is already here for me.  
int i = emps.EmployeeID;  

// Dynamic Query - All Employees with 'A' in thier last name  
Employees emps = new Employees();  
emps.Where.LastName.Value = "%A%";  
emps.Where.LastName.Operator = WhereParameter.Operand.Like;  
emps.Query.Load();   

对于上面的示例(即员工 DAL 对象),我想知道在我的类中抽象一些实现细节的最佳方法/技术是什么。我不相信 Employee 类的方法中应该有Employees(DAL)细节——或者这可能是可以接受的?是否可以实现某种形式的存储库模式?请记住,这是一个大容量、性能关键的应用程序。

谢谢, j

【问题讨论】:

    标签: c# database design-patterns oop data-access-layer


    【解决方案1】:

    尝试提出一个接口,其中包含您希望 DAL 公开的方法。让您的客户端代码绑定到接口。

    【讨论】:

      猜你喜欢
      • 2021-03-26
      • 1970-01-01
      • 2016-05-22
      • 1970-01-01
      • 2011-08-02
      • 2020-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多