我已經開始學習MVC3開發,並且遇到了一些絆腳石。在我的項目中,我已將默認的aspnet_ membership表移動到單獨的SQL Server 2008 Express數據庫中。然後我添加了我自己的表格來存放額外的配置文件數據我想現在建立一個視圖,它將列出用戶名(來自aspnet_Users),電子郵件地址(來自aspnet_Membership),名字和姓氏(從用戶ID作爲PK和FK到aspnet_Users的自定義表UserDetails)以及用戶角色aspnet_UsersInRoles和aspnet_Roles)。MVC3默認成員屬性在視圖中使用自定義模型屬性(使用ModelView?)
到目前爲止讀取和我的數據庫寫我已經建立了模型,我的每一個定製的表用的DbContext類:
public class UserDetail
{
[Key]
public Guid UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
public string Phone { get; set; }
public DateTime DateUpdated { get; set; }
}
public class UserLinkToken
{
[Key]
public Guid UserId { get; set; }
public string LinkToken { get; set; }
public DateTime DateUpdated { get; set; }
}
public class ProShotDB : DbContext
{
public DbSet<UserDetail> UserDetails { get; set; }
public DbSet<UserLinkToken> UserLinkTokens { get; set; }
}
我不得不說出我的表「的UserDetails」和「 UserLinkTokens「爲我的應用程序編寫和更新我的數據庫,當模型和dbcontext的名稱與我的數據庫和表名稱不匹配時,應用程序最終將創建另一個帶有表的數據庫並在其中寫入數據。
從我可以告訴發送一個對象來查看來自我的自定義表的屬性從aspnet_表和屬性我將要建立一個ModelView。在閱讀了很多modelview示例後,我仍然不清楚它應該如何查找我的應用程序。
有人可以給我一個模型視圖的例子,我可以用它來顯示數據行的列表,並更新模型視圖中引用的所有相應的表列給定的用戶ID?
對於這個例子可以說我只想要一個所有FirstNames(UserDetails表)及其相應的電子郵件(aspnet_Membership)的視圖。
我的最終目標是顯示用戶與他們分配的角色的視圖。列出的每個用戶都將擁有一個鏈接,該鏈接將導向一個控制器,如果他們當前不是該角色,則該控制器會將其分配爲管理員,如果他們當前是管理員,則將其刪除。
對不起,如果這種類型的問題已在其他問題之前回答。我已經閱讀了其中的很多內容,覺得他們可能應該回答我的問題,但沒有一個看起來很匹配。很可能我的困惑源於不完全理解我的應用如何與我的數據庫建立連接。我理解我的模型表示一行表的數據,而dbcontext接收一組這些數據行模型並將它連接到數據庫中的表(dbset <(datarow/model object)>(數據行/一組模型對象))。由於我沒有看到aspnet_ tables/model對象的dbcontext類,所以我沒有一個關於如何檢索,更新或寫入這些表中的數據的好概念。
感謝您的任何幫助清理我的無知如何工作或給我一個簡單的例子,如何完成我所需要的。
+1爲新的,但詳細闡述真正歡迎您的問題。也對答案感興趣。 – Silvermind
不要在成員表和表之間創建任何外鍵。這會在使用會員系統的管理功能時造成問題。成員不期望有任何外鍵參考違規,並會拋出異常。 –
嗯,我按照以下說明執行此操作:http://www.asp.net/web-forms/tutorials/security/membership/storing-additional-user-information-cs 很高興知道這可能會對我造成問題。 –