我正在开发ASP.NET (WebForms)应用程序并使用EntityFramework。我想知道使用实体的最佳实践是什么。为整个数据库创建少数实体,还是为专门目的创建多个实体?!
例子是这样的:我有客户表。这个表有ForeignKey到customers_addresses表和customers_phones表。我在这个数据集上有两个案子
对于案例1,我得到一个实体,它只将"name“列映射到用户数据库,对于第2种情况,我得到了另一个实体,它拥有其他表之间的所有数据和连接。
现在我在想,是否只有一个实体(2号)对这两种情况都有好处。
EF的最佳实践是什么?
发布于 2011-03-31 15:27:17
在您的例子中,我认为没有理由为自动完成场景创建一个专门的实体。由于您将使用Linq对实体进行所有查询,所以请确保只从实体中选择客户名称,而不是整个实体本身。
from Customer cust in ent.Customers
select new {
CustomerName = cust.CustomerName
};这样,您仍然可以在后端使用轻量级SQL查询,但不会使用不必要的“专门化”实体来污染模型。
此外,如果您使用延迟加载,那么您不必担心EF加载任何相关的实体信息,除非您确实需要它。
https://stackoverflow.com/questions/5502259
复制相似问题