我有2个班级,有一对多的关系
public class team
{
public int ID {get;set;}
**public int TotalPlayers{get{return registeredPlayers.Count();}}**
//edit
private ICollection<registeredplayers> registeredplayers;
public ICollection<registeredplayers> registeredPlayers{
get {return registeredplayers ?? (registeredplayers = new List<registeredplayers>());}
set {registeredplayers = value;}
}
}
public class registeredplayers
{
public int ID {get;set;}
public string name {get;set;}
public int teamid {get;set;}
public virtual team team {get;set;}
}
所以每当我打电话给该物业都会返回0 ,即使有多名玩家注册。
TotalPlayers = entity.TotalPlayers.First(p => p.ID == 1);
int totalplayers = team.TotalPlayers
任何建议都表示赞赏。
感谢!!!
答案 0 :(得分:0)
我不完全确定要求的是什么,但我不知道所提供的代码是如何编译的。
如何返回计数取决于您将使用的IEnumerable的实现,接口本身不提供执行此操作的方法的原型。我倾向于使用通用列表,所以我会使用:
public class team
{
public int ID {get;set;}
public int TotalPlayers{get{return registeredplayers.Count();}}
public System.Collections.Generic.List<registeredplayers> registeredplayers{get;set;}
}
也是行
TotalPlayers = entity.TotalPlayers.First(p => p.ID == 1);
对我来说没有多大意义,因为这个属性只有一个'get'访问器,因此你无法为它赋值。
希望这有帮助,如果我错过了这一点,请回复更详细的说明。