0
我有3個實體簡單的代碼,第一個模型(從數據庫中生成):實體框架SQL不是最優的導航屬性
[Table("Note")]
public partial class Note
{
public Note()
{
NoteCompanies = new HashSet<NoteCompany>();
}
public long ID { get; set; }
[Column(TypeName = "text")]
public string Content { get; set; }
public DateTime Date { get; set; }
public virtual ICollection<NoteCompany> NoteCompanies { get; set; }
}
[Table("Company")]
public partial class Company
{
public long ID { get; set; }
[StringLength(150)]
public string Name { get; set; }
}
[Table("NoteCompany")]
public partial class NoteCompany
{
public long ID { get; set; }
public long NoteID { get; set; }
public long CompanyID { get; set; }
public virtual Company Company { get; set; }
}
當我使用這個模型裏面ASP MVC視圖,如:
@model Models.Note
<ul>
@for (var company in Model.NoteCompanies.Select(nc => nc.Company))
{
<a href="#">@company.Name</a>
}
</ul>
實體框架激發每個公司的單一選擇查詢。我預計實體將使用產生JOIN
查詢,如:
SELECT {fields}
FROM
NoteCompany NC
INNER JOIN Company C ON NC.CompanyId = C.Id
WHERE
NC.NoteId = @Param
是否有可能迫使EF產生JOIN
查詢,而不是單列SELECT
?
問候 IT人
謝謝,工作!是否有可能在實體級別上實現此行爲(注)?我想擁有一個將通過單個查詢運行返回相關公司的資產。 –
我認爲上面只顯示了唯一的方法,其他任何東西都是關於這些的。 –