实体框架最佳实践

时间:2011-03-31 15:22:53

标签: c# .net asp.net entity-framework

我正在开发ASP.NET(WebForms)应用程序并使用EntityFramework。我想知道使用实体的最佳做法是什么。为整个数据库创建几个实体或为特殊目的创建许多实体?

示例案例是这样的: 我有客户表。此表具有到customers_addresses和customers_phones表的ForeignKey。我在这个数据集上有两个案例

  1. 自动填写客户名称
  2. 显示用户详细信息
  3. 对于案例1,我得到一个实体,其中只有“name”列映射到用户到db 对于案例2,我得到了另一个实体,其中包含其他表之间的所有数据和连接。

    现在我想知道是否只有单个实体(数字2)对两种情况都有好处。

    EF的最佳做法是什么?

1 个答案:

答案 0 :(得分:7)

在您的情况下,我没有看到为自动完成方案设置专门实体的原因。由于您将使用Linq to Entities进行所有查询,因此请确保您仅从实体中选择客户名称,而不是整个实体本身

from Customer cust in ent.Customers
select new {
    CustomerName = cust.CustomerName
};

这样你在后端仍然可以使用轻量级的SQL查询,但是你不会用不必要的“专用”实体来污染你的模型。

此外,如果您正在使用延迟加载,那么您不必担心EF加载任何相关的实体信息,除非您确实需要它。