在SQL我有3個表:組織(ID,姓名),類別(ID,姓名),目錄(org_id,CAT_ID) - 之間的映射表組織和類別。 ADO.NET的DbContext發生器我創建2類:MVC3和LINQ選擇映射表
public partial class Organization
{
public Organization()
{
this.Category = new HashSet<Category>();
}
public int id { get; set; }
public string name { get; set; }
public virtual ICollection<Category> Category { get; set; }
}
public partial class Category
{
public Category()
{
this.Organization = new HashSet<Organization>();
}
public int id { get; set; }
public string name { get; set; }
public virtual ICollection<Organization> Organization { get; set; }
}
如何我可以選擇映射到使用LINQ CAT_ID = 1所有組織? 就像我使用T-SQL它:
SELECT *
FROM Organization o
INNER JOIN Catalog ct ON o.id = ct.org_id
INNER JOIN Category cg ON ct.cat_id = cg.id
WHERE cg.id = 1
我試圖
var model = _db.Category
.Where(c => c.id == 1)
.Select(c => c.Organization);
但是我有鑑於這樣定義
@model IEnumerable<Project1.Models.Organization>
我找不到您的問題。在輸入視圖時遇到問題意味着什麼?請向我們提供有關您的確切問題的更多詳細信息 –
這是錯誤:「傳入字典的模型項類型爲'System.Data.Entity.Infrastructure.DbQuery'1 [System.Collections.Generic.ICollection'1 [Project1。 Models.Organization]]',但是這個字典需要一個'System.Collections.Generic.IEnumerable'1 [Project1.Models.Organization]'類型的模型項。 – dkrzh
從這個錯誤請看我的答案。我相信你的模型是不正確的。 –