C# 代码优先EF:在搜索数据库表时,是否可以检索DataModel中的项目列表?
我有这个型号C# 代码优先EF:在搜索数据库表时,是否可以检索DataModel中的项目列表?,c#,asp.net-mvc,linq,entity-framework,C#,Asp.net Mvc,Linq,Entity Framework,我有这个型号 public class Appointment { [Key] public Guid Id { get; set; } public IEnumerable<Attendee> Attendees { get; set; } public DateTime StartDateTime { get; set; } public DateTime EndDateTime { get; set; } } 它不应该
public class Appointment
{
[Key]
public Guid Id { get; set; }
public IEnumerable<Attendee> Attendees { get; set; }
public DateTime StartDateTime { get; set; }
public DateTime EndDateTime { get; set; }
}
它不应该也加载所有与会者吗
还是我的模型中遗漏了什么
附言:
实体框架版本:6.0.2
Asp.Net MVC版本:5.1.0要延迟加载相关类,模型中的属性应为
virtual
,并且应为ICollection
,而不是IEnumerable
:
public virtual ICollection<Attendee> Attendees { get; set; }
公共虚拟ICollection与会者{get;set;}
要延迟加载相关类,模型中的属性应该是virtual
,并且应该是ICollection
,而不是IEnumerable
:
public virtual ICollection<Attendee> Attendees { get; set; }
公共虚拟ICollection与会者{get;set;}
显然我该换衣服了
public IEnumerable<Attendee> Attendees { get; set; }
public IEnumerable与会者{get;set;}
到
公共虚拟ICollection与会者{get;set;}
附言:
简单地将它设置为virtual
IEnumerable
对我不起作用,必须是virtualICollection
显然我应该改变
public IEnumerable<Attendee> Attendees { get; set; }
public IEnumerable与会者{get;set;}
到
公共虚拟ICollection与会者{get;set;}
附言:
简单地将其设置为虚拟
IEnumerable
对我不起作用,必须是虚拟的ICollection
将给它一个机会,并查看结果,让您知道我将其更改为虚拟的,但仍然不会加载与会者:(应该是ICollection而不是IEnumerable,将其作为答案发布,但是+1让我知道如何使字段虚拟化你是对的,它应该是ICollection
,而不是IEnumerable
。我没有注意到你正在使用IEnumerable
。我已经编辑了我的答案。我会试一试,看看结果,然后让你知道。)knowi将其更改为虚拟,但仍无法加载与会者:(应该是ICollection而不是IEnumerable,将其作为答案发布,但是+1让我知道如何使字段虚拟化你是对的,它应该是ICollection
,而不是IEnumerable
。我没有注意到你在使用IEnumerable
。我已经编辑了我的答案。
public IEnumerable<Attendee> Attendees { get; set; }
public virtual ICollection<Attendee> Attendees { get; set; }