數據庫檢索數據時訪問的用戶身份的附加屬性可以說我使用asp.net的身份時,增加了幾個附加屬性設置爲默認用戶:使用EF和LINQ
public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
我知道在我的asp.net MVC控制器我根本就下列以獲得登錄用戶名當前:保存到數據庫中,我可以簡單地傳遞User.Identity.Name到我的倉庫沿時
User.Identity.Name
所以我正在保存的對象因此可以填充CreatedBy字段。
現在我們可以說我從數據庫中檢索具有包含用戶名字符串的CreatedBy字段的項目,但我想在視圖中顯示Created by:FirstName + LastName。
如何獲取這些額外信息?如果我使用的是純SQL,那麼我會在AspNetUsers表上創建一個名爲CreatedBy = Username的INNER JOIN,並簡單地在名爲CreatedByFullName的自定義列中檢索FirstName和LastName。
因爲我現在正在使用實體框架以及最新版本的ASP.NET身份,所以我有點困惑於我們如何檢索用戶信息以顯示在我們頁面的視圖中。是在我的資源庫中與linq進行連接的問題,還是僅將一個對象添加到每個名爲ApplicationUser的屬性中?或者有更好的方法嗎?
我想你可能正在尋找...[ASP MVC5 - 身份。如何獲取當前ApplicationUser](http://stackoverflow.com/questions/20925822/asp-mvc5-identity-how-to-get-current-applicationuser)。 –
@ErikPhilips獲取當前的應用程序用戶不是我所需要的。我需要一種從所有對象中的CreatedBy字段(包含字符串用戶名)到讓所有創建實體信息的用戶在視圖中顯示的方式。有點像StackOverflow如何顯示每個帖子在這裏創建的人 –
您是否已經創建了這些對象(具有CreatedBy的對象)的*指向* ApplicationUsers表的導航屬性?如果是這樣,一個簡單的'.Include(x => x.CreatedByUser)'是你需要的所有代碼。 –