mvc c # не сопоставленное свойство, которое получает общее количество строк - PullRequest
0 голосов
/ 02 ноября 2011

У меня есть 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

приветствуется любой совет.

Спасибо !!!

1 Ответ

0 голосов
/ 02 ноября 2011

Я не совсем уверен, о чем просят, но я не вижу, как предоставленный код скомпилирует.

То, как вы возвращаете счет, зависит от того, какую реализацию 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, поэтому вы не можете присвоить ему значение.

Надеюсь, это поможет, если я упустил суть, пожалуйста, отправьте обратно с более подробным объяснением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...