TopicCount
ブール値を受け入れると呼ばれるアプリケーションのコード優先エンティティに単純なメソッドを追加しました。ナビゲーション プロパティ内の項目数をカウントし、渡されたブール値が true か false かに基づいてカウントを異なる方法でフィルター処理します。
public class Board
{
public short BoardID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public bool Hidden { get; set; }
public bool ModsOnly { get; set; }
public bool Locked { get; set; }
public bool Anonymous { get; set; }
public bool AllTopics { get; set; }
public virtual ICollection<Topic> Topics { get; set; }
public long TopicCount(bool isModerator)
{
if (isModerator)
return this.Topics.ToList().Count;
else
return this.Topics
.Where(x => !x.ModsOnly)
.Where(x => !x.Board.ModsOnly)
.Where(x => !x.Board.Hidden)
.Count();
}
}
このTopicCount
メソッドを呼び出すと、(bool が true か false かに関係なく) 次のエラーで失敗します。
このコマンドに関連付けられた開いている DataReader が既に存在し、最初に閉じる必要があります。
何か案は?