gpt4 book ai didi

c# - 如何让 Entity Framework 在 1 :1 relationship? 上执行连接查询

转载 作者:行者123 更新时间:2023-11-30 23:33:39 25 4
gpt4 key购买 nike

我在 Entity Framework 中有这样的 1:1 关系:

public class Channel
{
public int ID { get; set; }
public string Title { get; set; }
public ExternalChannel ExternalChannel { get; set; }
}

public class ExternalChannel
{
[Key, ForeignKey("Channel")]
public int ChannelID { get; set; }
public string Something{ get; set; }
public Channel Channel { get; set; }
}

数据库架构已正确创建。当我尝试使用以下方式获取 channel 时:

var channels = await dbContext.Channels.ToListAsync();

我无法访问 ExternalChannel,因为它未检索到。 SQL 查询未在这些表上使用连接。

有没有办法让 Entity Framework 执行连接查询,以便我可以轻松访问所有数据?我可以自己加入,但我怀疑有更好的方法。

谢谢大家的帮助!

最佳答案

因为默认情况下它会延迟加载,所以除非特别说明,否则不会加载相关实体。您可以在设计器中使用 Include 属性加载它,也可以在实体本身上使用 Include() 在代码中加载它,例如

var channels = await dbContext.Channels.Include(x => x.ExternalChannel ).ToListAsync();

关于c# - 如何让 Entity Framework 在 1 :1 relationship? 上执行连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33844534/

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