私は、熱心に読み込まれている別のエンティティと1対多の関係を持つオブジェクトを持っています。Entity Framework:アソシエーションのカウントが間違っています
nerddinnerの例のpaginatedListを使用します。その結果、(すべての関連付けとフィルタを使用して)完全に形成されたクエリでカウントを行います。
私がカウントを行うとき、返された合計には関連付けが含まれます(行は子関連のオブジェクトの数だけ複製されます)。 私は親の資格で独特のことをしようとしましたが、動作しません。
どうすればよいですか?
編集:
私はDBに接続するために、MySQLのコネクタを使用して、ここに私のコードです:
public class Post
{
[Key]
[Column("idPost")]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
[Column("title")]
[Required(AllowEmptyStrings = false)]
public string Title { get; set; }
(....)
[InverseProperty("Post")]
public ICollection<PostCategory> Categories { get; set; }
}
public class PostCategory
{
[Key, Column("idPost", Order = 0)]
public int PostID { get; set; }
[Key, Column("name", Order = 1)]
public string Category { get; set; }
[Association("PostCategory_Post", "PostID", "ID")]
public virtual Post Post { get; set; }
}
//コール
public virtual IQueryable<T> GetAll()
{
IQueryable<T> query = dbContext.Set<T>();
return query;
}
と
postRepository.GetAll().Includes(p => p.Categories).Count();
これが発生した場合のクエリの例を表示できますか? –
また、 'GetAll'メソッドを表示してください。 –