2012-07-04 3 views
4

Я пытаюсь получить частное поле поддержки, отображаемое в MongoDB.
Моя модель выглядит следующим образом:Сопоставление частного поля поддержки с MongoDB C#

public class Competitor 
{ 
    private IList<CompetitorBest> _competitorBests; 

    public virtual int CompetitorId { get; set; } 

    public virtual string Name 
    { 
     get 
     { 
      if (Type == "Team") 
       return TeamName; 

      return FirstName + " " + LastName; 
     } 
    } 

    public virtual IEnumerable<CompetitorBest> CompetitorBests 
    { 
     get { return _competitorBests.ToArray(); } 
    } 
} 

Я в основном пытаюсь сопоставить _competitorBests, быть CompetitorBests (который существует в моем документе в Монго)

Примечания: Эта модель разделяет NHibernate (следовательно, virtual)
Я не вижу ничего очевидного в документах.

Как это сделать?

ответ

10

Это сделал трюк:

BsonClassMap.RegisterClassMap<Competitor>(cm => 
{ 
    cm.AutoMap(); 
    cm.MapField("_competitorBests").SetElementName("CompetitorBests"); 
}); 
+0

Столкнулся с такой же проблемой! Благодаря! – lexeme

+2

Вы могли запускать запросы linq в свойстве .CompetitorBests? Это взрывается для меня. – Jereme

Смежные вопросы