在應該是一個非常簡單的場景中遇到一些麻煩。例如目的,我有兩個表:實體框架 - 使用外鍵獲取null異常
-Users -Comments
有一個一對多的關係,建立了這一點;有一個從Comments.CommentorID
到Users.UserID
的外鍵。當我執行LINQ查詢並嘗試綁定到DataList
時,我得到一個空例外。下面是代碼:
FKMModel.FKMEntities ctx = new FKMModel.FKMEntities();
IQueryable<Comment> CommentQuery =
from x in ctx.Comment
where x.SiteID == 101
select x;
List<Comment> Comments = CommentQuery.ToList();
dl_MajorComments.DataSource = Comments;
dl_MajorComments.DataBind();
在ASPX頁面,我有以下作爲一個ItemTemplate(我簡化,並拿出造型等,爲在這裏發帖的目的,因爲它是不相關的):
<div>
<%# ((FKMModel.Comment)Container.DataItem).FKMUser.Username %>
<%# ((FKMModel.Comment)Container.DataItem).CommentDate.Value.ToShortDateString() %>
<%# ((FKMModel.Comment)Container.DataItem).CommentTime %>
</div>
第一個綁定發生異常(FKMUser.Username
)。由於設置了外鍵,我不應該在用戶表中訪問任何屬性。智能感知設置了FKMUser
導航屬性,它知道該外表的屬性。這裏發生了什麼???
謝謝!使用包含處理問題。現在精美的作品。 – Nick 2010-03-27 17:50:24