C# 当模型正常但列表为空时,对DB的linq查询返回带有列表的模型
这让我发疯,我有两个其他模型的列表模式。只要我有iCollections,它就可以正常工作,但我必须将它们更改为List,因为我需要将数据导出到XML中 型号C# 当模型正常但列表为空时,对DB的linq查询返回带有列表的模型,c#,asp.net,asp.net-mvc,linq,C#,Asp.net,Asp.net Mvc,Linq,这让我发疯,我有两个其他模型的列表模式。只要我有iCollections,它就可以正常工作,但我必须将它们更改为List,因为我需要将数据导出到XML中 型号 public class PortalUser { //private List<UserToTeam> UserToTeam_ = new List<UserToTeam>(); //private List<Mandays> Mandays_ = new List<Manday
public class PortalUser
{
//private List<UserToTeam> UserToTeam_ = new List<UserToTeam>();
//private List<Mandays> Mandays_ = new List<Mandays>();
public int ID { get; set;}
public string Name { get; set; }
[DisplayName("Last Name")]
public string LastName { get; set; }
public Role Role { get; set; }
//public virtual ICollection<Mandays> Mandays { get; set; }
public List<Mandays> Mandays { get; set; } //{ return Mandays_; }
[DisplayName("Team")]
//public virtual ICollection<UserToTeam> UserToTeam { get; set; }
public List<UserToTeam> UserToTeam { get; set; } //{ return UserToTeam_; }
public PortalUser()
{
Mandays = Mandays ?? new List<Mandays>();
UserToTeam = UserToTeam ?? new List<UserToTeam>();
}
公共类PortalUser
{
//私有列表UserToTeam_u2;=新列表();
//私人列表工作日=新列表();
公共int ID{get;set;}
公共字符串名称{get;set;}
[显示名称(“姓氏”)]
公共字符串LastName{get;set;}
公共角色{get;set;}
//公共虚拟ICollection Mandays{get;set;}
公共列表工作日{get;set;}/{return Mandays}
[显示名称(“团队”)]
//公共虚拟ICollection UserToTeam{get;set;}
公共列表UserToTeam{get;set;}/{return UserToTeam}
公共PortalUser()
{
Mandays=Mandays??新列表();
UserToTeam=UserToTeam??新列表();
}
然后我使用它从数据库中获取数据
List<PortalUser> dbAgent = db.PortalUser.ToList();
List dbAgent=db.PortalUser.ToList();
调试时结束结果以Count=0结束。iCollection正确返回模型中的模型时,列表始终返回Count=0。在DB中,用户有Mandays甚至team,但结果始终为空
我确信我遗漏了一些简单的东西,请帮助。如果需要,我可以发布更多代码。我不确定EF是否支持这样的列表集合,但是您需要虚拟关键字,以便EF可以适当地创建包装的集合。哦,天哪,我太瞎了。非常感谢,这是缺少的虚拟关键字。