私は Entity Framework を使用しています。クラスとクラスの子からデータを取得する方法を知りたいです。これが私のセットアップです:
public class Question
{
public Question()
{
this.Answers = new List<Answer>();
}
public int QuestionId { get; set; }
...
...
public string Title { get; set; }
public virtual ICollection<Answer> Answers { get; set; }
}
public class Answer
{
public int AnswerId { get; set; }
public string Text { get; set; }
public int QuestionId { get; set; }
public virtual Question Question { get; set; }
}
他のすべてのクラスに遅延読み込みを使用したくないため、次のように設定しました。
DbContext.Configuration.LazyLoadingEnabled = false;
現在使用しているコードは次のとおりです。
public IList<Question> GetQuestions(int subTopicId, int questionStatusId)
{
var questions = _questionsRepository.GetAll()
.Where(a => a.SubTopicId == subTopicId &&
a.QuestionStatusId == questionStatusId)
.ToList();
return questions;
}
私のリポジトリは次のようになります。
public virtual IQueryable<T> GetAll()
{
return DbSet;
}