這裏是我的模型實體框架`LoadWith`不帶回數據
public IEnumerable<PostJob> GetAllJobsByUserId(int id)
{
using (var context = new CleanerDataContext(@"Data Source=.\sqlexpress;Initial Catalog='Cleaning Lady';Integrated Security=True"))
{
var loadOptions = new DataLoadOptions();
loadOptions.LoadWith<PostJob>(c => c.Cleaner);
loadOptions.LoadWith<PostJob>(c => c.User);
context.LoadOptions = loadOptions;
return context.PostJobs.Where(r => r.userId == id).ToList();
}
}
在我看來,我試圖訪問屬性的「清潔」
@foreach (var k in Model.AllJobs)
{
<div class="panel panel-default instructions">
<div class="panel-body">
<span>Date: @k.date.ToShortDateString() From: @k.timeFrom Until: @k.timeUntil</span>
<span>Price: @k.Cleaner.Price</span>
<span>Total: </span>
</div>
</div>
<br />
}
但我得到一個錯誤
對象引用未設置爲對象的實例。
爲什麼我得到這個錯誤,如果加載'清潔'一起'PostJob'?
這裏是在數據庫中的postjob
您是否已經爲Cleaner和User定義了導航屬性?你爲什麼包括用戶?您發佈的視圖不使用用戶的任何屬性。 Include將在linq查詢中包含整個其他實體。你只使用1個物業。定義視圖模型並從您的上下文填充它並將視圖模型返回到視圖會更好。 – Fran
我打算使用用戶也。我無法填充它,因爲它是一個列表。我如何將每個清潔劑與每個清潔劑相匹配? – Newbie
https://msdn.microsoft.com/zh-cn/library/jj713564(v=vs.113).aspx – Fran