我试图加载以下数据库结构
用户 - > UserTeamRelation - >团队 - >游戏
在此关系中,“团队”在尝试访问时已经为空 “user.Teams.Team”。
我有以下数据库结构
using (var db = new ApplicationDbContext())
{
var user = db.Users.FirstOrDefault(x => x.UserName.ToLower().Equals(username));
if (user == null)
{
return new ResponseViewModel(false, "User nicht gefunden", null);
}
var teams = new List<Team>();
foreach (var team in user.Teams)
{
teams.Add(new Team()
{
Description = team.Description,
TeamName = team.Team.TeamName,
GameName = team.Team.Game.Name
});
}
}
我尝试了以下代码
{{1}}
它到达foreach循环并找到“Description”属性。但是当我尝试访问团队模型时,它就是null。
有什么建议吗?
答案 0 :(得分:0)
TeamMember模型类中应该有一个外键:
public class TeamMember
{
public TeamMember()
{
this.Id = Guid.NewGuid().ToString();
}
[Key]
public string Id { get; set; }
[Required]
public string TeamId { get; set; }
[ForeignKey("TeamId")]
public virtual Team Team { get; set; }
[Required]
public string UserId { get; set; }
[ForeignKey("UserId")]
public virtual User Member { get; set; }
}
答案 1 :(得分:0)
好。经过一些研究后我发现,由于数据不一致/数据库损坏,只有团队实体不存在。
感谢您的帮助。
使用&#34;解决方案(&#34; Teams.Team.Game&#34;)&#34;也做了伎俩