gpt4 book ai didi

asp.net - Entity Framework - 仅加载选定的属性

转载 作者:行者123 更新时间:2023-12-02 14:26:48 25 4
gpt4 key购买 nike

我没有亲 body 验 EF,因此不知道这个问题的相关性。

假设我有名为 Student 的表(StudentId、Name、Username、Address、DOB、DeptId、NavigationProp1Id...)和 Department 表(Deptd、DeptName.、NavigationProPid)。因此,如果表结构如下所示,当我使用“contex.Studnets”时,我可以获得所有属性,包括导航属性,如果表 2 有其他导航属性,也可以加载它。我对么?

如果是这样是否会导致任何性能问题?我可以仅从实体加载选定的属性,例如仅从学生实体加载用户名、地址吗?

最佳答案

没有导航属性不会立即加载。如果您使用 Include 方法,它们会显式加载,或者在您第一次访问它们时延迟加载(这也是您在调试器中看到它们的原因 = 通过调试器访问导致延迟加载)。

您只能加载选定的属性 - 这称为投影。限制是您无法加载带有属性子集的 Student 实体。您需要新类或匿名类型:

var query = context.Students.Select(x => new 
{
x.UserName,
x.Address
});

关于asp.net - Entity Framework - 仅加载选定的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8076239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com