2013-03-11 57 views
1

我開始研究具有不同特定屬性的3種類型的用戶(客戶,服務提供商和管理員)的MVC項目。我想延長在ASP.NET MVC Web應用程序互聯網應用程序模板默認SimpleMembership實現在Visual Studio 2012如何在ASP.NET MVC中使用SimpleMembership時填充自定義屬性表4

我有Customer類(不知道的關鍵屬性和關係)

public class Customer 
{ 
    [Key] 
    public string UserName { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string Phone { get; set; } 

    public virtual UserProfile UserProfile { get; set; } 
} 

,並在SQL Server Express的客戶表:

CREATE TABLE [dbo].[Customer] 
(
    [UserName] NVARCHAR(MAX) NOT NULL, 
    [FirstName] NVARCHAR(50) NOT NULL, 
    [LastName] NVARCHAR(50) NOT NULL, 
    [Phone] NVARCHAR(50) NULL 
) 

實體框架上下文:

public class UsersContext : DbContext 
{ 
    public UsersContext() : base("DefaultConnection") 
    { 
    } 

    public DbSet<UserProfile> UserProfiles { get; set; } 

    public DbSet<Customer> Customers { get; set; } 
} 

我應該在下面添加哪些代碼以獲取與UserProfile表一起填充的Customer表?

// Attempt to register the user 
try 
{ 
    WebSecurity.CreateUserAndAccount(model.UserName, model.Password); 

    WebSecurity.Login(model.UserName, model.Password); 
    return RedirectToAction("Index", "Home"); 
} 

在此先感謝

回答

0

我刪除從Customer類行:

public virtual UserProfile UserProfile { get; set; } 

客戶類現在變成了:

public class Customer 
{ 
    [Key] 
    public string UserName { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string Phone { get; set; } 
} 

和下面的代碼添加到AccountController的註冊方法:

try 
{ 
    WebSecurity.CreateUserAndAccount(model.UserName, model.Password); 

    Customer cust = new Customer 
    { 
     UserName = model.UserName, 
     FirstName = "Dikembe", 
     LastName = "Mutombo", 
     Phone = model.Phone 
    };     
    UsersContext context = new UsersContext(); 
    context.Customer.Add(cust); 
    context.SaveChanges(); 

    WebSecurity.Login(model.UserName, model.Password); 
    return RedirectToAction("Index", "Home"); 
} 
相關問題