gpt4 book ai didi

c# - Entity Framework 不加载相关对象

转载 作者:太空狗 更新时间:2023-10-29 21:40:37 24 4
gpt4 key购买 nike

我是 Entity Framework 的新手,但可能误解了什么,或者做错了什么。

我的代码,为我获取特定人员的任务列表:

 public List<TaskObject> GetAssignedTasks(int personId)
{
var items = (from s in _te.tasks where s.person.person_id == personId select s).ToList();
var tasks = new List<TaskObject>();
foreach (var t in items)
{

TaskObject tk = Transformer.UnpackTask(t);

tasks.Add(tk);
}
return tasks;
}

我的问题是,它似乎得到了一个记录列表,但是没有加载相关的项目。我的“Transformer.UnpackTask”方法采用我加载的任务实体,然后将其转换为一个不同的对象,该对象通过业务/服务层上升到 UI。

但是一旦我的 Unpacker 函数尝试引用一个相关对象的项目(例如,一个任务有一个“AssignedPerson”,它有一个带有人员详细信息的 Person 实体。但是我实体的 AssignedPerson 属性为 NULL .我以为它会加载相关项目。

我是不是误会了?

最佳答案

您应该使用 Include() 方法显式包含引用。它有两个重载:一个将属性作为 lambda 表达式,另一个将路径作为字符串加载(当您需要加载集合中可用对象的引用时很有用)。

MSDN reference

关于c# - Entity Framework 不加载相关对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12025286/

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