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人
谢谢,工作!是否有可能在实体级别上实现此行为(注)?我想拥有一个将通过单个查询运行返回相关公司的资产。 –
我认为上面只显示了唯一的方法,其他任何东西都是关于这些的。 –