私は関係、プロジェクトのカテゴリを持っています。この関係は多対多であるため、Project / project_has_category / categories の 3 つのテーブルがあります。
特定のカテゴリと関係があるすべてのプロジェクトを (その ID で) 選択する必要があります
プロジェクトクラス
public class Project
{
public int ProjectID { get; set; }
public virtual ICollection<Category> Categories { get; set; }
}
カテゴリ クラス
public class Category
{
public int CategoryID { get; set; }
public string CategoryName { get; set; }
public virtual ICollection<Project> Projects { get; set; }
}
私は次のことを試しました:
[HttpPost]
public ActionResult Projects(string catID, string strSearch)
{
var cats = Adapter.CategoryRepository.Get();
var projects = Adapter.ProjectRepository.Get().Where(x => x.Categories.Contains(catID));
/*also*/
var projects = Adapter.ProjectRepository.Get().Where(x => cats.Contains(catID));
return View(projects);
}
しかし、これはエラーを与えます:
'System.Collections.Generic.ICollection.Contains(LibModels.Category)' に最適なオーバーロードされたメソッドの一致には、いくつかの無効な引数があります C:\Users\thomas\Desktop\Freelauncher1005\Freelauncher\Controllers\ProjectController.cs
私は何を間違っていますか?