gpt4 book ai didi

c# - Code First 和 EF 5.0 不加载导航属性

转载 作者:行者123 更新时间:2023-11-30 13:15:06 27 4
gpt4 key购买 nike

我正在尝试通过 Code First 和 EF 5.0 加载导航属性 子对象加载为 null。下面是代码。

  [Table("ls_roles")]
public class Role
{
[Required]
[Key]
public int RoleID { get; set; }

[Required]
public String BarColor { get; set; }

[ForeignKey("RoleId")]
public virtual ICollection<ScheduleEmployee> Employees { get; set; }
}

[Table("ls_ScheduleEmployee")]
public class ScheduleEmployee
{
[Key]
[Required]
public int Id { get; set; }

[Required]
public int RoleId { get; set; }

[ForeignKey("RoleId")]
public Role Role { get; set; }
}

编辑:调用代码

class Program
{
static void Main(string[] args)
{
var x = new Model.ContextEntityFramework().ScheduleEmployees.FirstOrDefault();
}
}

此时 x.Role == null

最佳答案

为了延迟加载工作,类的所有属性都应该定义为虚拟的。这是 Entity Framework 创建支持延迟加载的代理对象所必需的。

参见 here获取更多信息。

关于c# - Code First 和 EF 5.0 不加载导航属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15342781/

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