2014-10-31 88 views
0

所以我想弄清楚如何在註冊過程中爲用戶設置Discriminator值。以下是我已經由Visual Studio自動生成的代碼:在註冊時設置鑑別器值

if (ModelState.IsValid) 
{ 
    var user = new ApplicationUser() { UserName = model.Email }; 
    var result = await UserManager.CreateAsync(user, model.Password); 
    if (result.Succeeded) 
    { 
     await SignInAsync(user, isPersistent: false); 
     return RedirectToAction("Index", "Home"); 
    } 
    else 
    { 
     AddErrors(result); 
    } 
} 

我不知道究竟在何處或如何我應該在這裏指定Discriminator,因爲大多數的運作似乎通過UserManager.CreateAsync抽象。有任何想法嗎?

回答

1

您不設置鑑別器 - EF將基於從IdentityUser(在此例中爲ApplicationUser)派生的對象的類型設置適當的鑑別器值。

+0

所以它只是直接從類名中拉出來?手動創建另一個'IdentityUser'派生類是區分用戶類型的合理方式,還是有一些我不知道的更清晰的方式? – 2014-10-31 15:45:29

+0

如果映射到同一個表,另一個從'IdentityUser'派生的類型將具有不同的鑑別符值。你究竟想要完成什麼? – Moho 2014-10-31 16:13:34

+0

我正在尋找一種方式來按類型區分用戶。例如常規用戶/客戶,供應商,管理員。這是一個零售網站,如果這有幫助。 – 2014-10-31 16:38:19