0

我知道这个问题被问了很多次,但我无法清楚地了解我需要什么。

我有一个 WPF 应用程序,我需要使用 3 层方法重做。

我使用实体框架来创建数据模型并使用 Linq 查询来查询数据。

objCustomer = dbContext.Customers.Where(c => c.CustCode == oLoadDtl.CustNo).First();

我在程序中需要的任何地方都使用 Linq 查询从数据库中获取记录。

所以,我只想知道哪些东西都在 DAL、业务逻辑和 UI 层之下。

另外,我如何将它们分开?

实体数据模型可以视为 DAL 吗?

将实体模型放在单独的类库中是否更好?

4

1 回答 1

1

最好创建一个名为 DataAccess 的特殊类来封装 EntityFramework-invokes。对于业务逻辑,您可以创建模型类,如果需要,它们将使用 DAL。其他细节取决于您的应用程序应该做什么。例如:

//DAL
public class DataAccess
{
    public static void GetCustomerByNumber(int number)
    {
        var objCustomer = dbContext.Customers.Where(c => c.CustCode == number).First();
        return objCustomer;
    }
}

//Models
public class Customer
{
    public string Name { get; set; }
    public int Number { get; set; }

    public Customer GetCustomerByNumber(int number) 
    {
       return DataAccess.GetCustomerByNumber(number);
    }

    public void ChangeProfile(ProfileInfo profile)
    {
       //...
    }
}

主要是解决方案的可扩展性、可重用性和效率。

于 2012-08-01T10:49:04.783 回答