レース結果や時間などを使ったモデルを開発しています。
次のようなモデルがあります。
public class Competitor
{
public int ID { get; set; }
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
}
public class Event
{
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
public class Result
{
public int ID { get; set; }
public decimal ResultTime { get; set; }
public Competitor Competitor { get; set; }
public Event Event { get; set; }
}
次のように、mongodbに保存するためにこれをフラット化することを計画しています。
public class ResultSchemaExample
{
public int CompetitorID { get; set; }
public string CompetitorName { get; set; }
public DateTime CompetitorDateOfBirth{ get; set; }
public int EventID { get; set; }
public string EventName { get; set; }
public string EventDescription { get; set; }
public int ResultID { get; set; }
public decimal ResultTime { get; set; }
}
私の懸念は、これによりクエリが少し難しくなるということです。
これをclassMapして簡単にする方法はありますか?
だから私は次のようなクエリを行うことができます:
var query =
collection.AsQueryable<Result>()
.Where(r => r.Name == "Alex");
そして、結果のインスタンスを返すために、基になるフラットな(埋め込まれていない)データをクエリしますか?
これは可能ですか?
または、アプリ全体でResultSchemaExampleを使用しますか?