我的過程返回所有結果,但MVC顯示查找爲空。MVC4存儲過程返回結果,但MVC顯示查找字段值爲空
我有一個觀點,其中「網格」的循環是這樣的:
@foreach (var item in Model) {
<tr>
<td>@Html.ActionLink(item.Headline, "ViewDetails", "Advisory", new { id=item.AdvisoryId }, "")</td>
<td>@item.AdvisoryStartDate.ToShortDateString()</td>
<td>@item.AdvisoryType.AdvisoryType</td>
<td>@item.AdvisoryProvider.AdvisoryProvider</td>
<td>@item.AdvisoryCategory.AdvisoryCategory</td>
</tr>
}
最後三個字段是查找。我最初填充此與此控制器電話:
var advisories = db.Advisories.Include(i => i.AdvisoryType)
.Include(i => i.AdvisoryProvider)
.Include(i => i.AdvisoryCategory)
.OrderByDescending(i => i.AdvisoryStartDate);
ViewData["Advisories"] = advisories;
但現在我已經取代了這個調用proc(因爲我需要獲得「公告」的用戶還沒有見過的,所以它不是更復雜以上,這基本上是「讓所有」;我還需要通過用戶名查詢數據庫,而MVC只有User.Identity.Name):
var results = db.Database.SqlQuery<Advisory>("EXEC [ponzi].[uspUserAdvisories] {0}", User.Identity.Name).ToList();
ViewData["Advisories"] = results;
我知道PROC返回所有結果(當我運行SQL Server),但在MVC中,當我將鼠標懸停在「結果」上時,AdvisoryCategoryID被填充,但AdvisoryCategory爲空。與其他兩個查找一樣。我認爲這是因爲AdvisoryCategoryID在我的諮詢模型中,但AdvisoryCategory來自AdvisoryCategory模型。
下面是諮詢模型的相關部分:
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int AdvisoryId { get; set; }
public virtual int AdvisoryTypeID { get; set; }
public virtual AdvisoryTypes AdvisoryType { get; set; }
public virtual AdvisoryProviders AdvisoryProvider { get; set; }
public virtual int AdvisoryProviderID { get; set; }
public virtual AdvisoryCategories AdvisoryCategory { get; set; }
public virtual int AdvisoryCategoryID { get; set; }
我怎樣才能得到這三個查找字段顯示由PROC返回的數據?謝謝。