加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 实体框架最佳实践

发布时间:2020-12-16 01:42:39 所属栏目:百科 来源:网络整理
导读:我正在开发ASP.NET(WebForms)应用程序并使用EntityFramework.我想知道使用实体的最佳做法是什么.为整个数据库创建几个实体或为特殊目的创建许多实体? 示例是这样的: 我有客户表.此表具有到customers_addresses和customers_phones表的ForeignKey.我在这个数
我正在开发ASP.NET(WebForms)应用程序并使用EntityFramework.我想知道使用实体的最佳做法是什么.为整个数据库创建几个实体或为特殊目的创建许多实体?

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

>自动填写客户名称
>显示用户详细信息

对于案例1,我得到一个实体,其中只有“name”列映射到用户到db
对于案例2,我得到了另一个实体,其中包含其他表之间的所有数据和连接.

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

EF的最佳做法是什么?

解决方法

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读