2017-05-25 43 views
0

我想定製身份,並試圖讓我的DbContextClass時,我收到以下錯誤從IdentityUser繼承:定製身份爲.NetCore

嚴重性代碼說明項目文件的線路抑制狀態 錯誤CS0311的類型'CustomerManager.Domain.User'不能用作泛型類型或方法'IdentityDbContext'中的類型參數'TUser'。沒有從'CustomerManager.Domain.User'到'Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUser'的隱式引用轉換。 CustomerManager.Data E:\ CLIENTS \ DMFA \的CustomerManager \ CustomerManager.Data \ CustomerManagerContext.cs 9個活性

用戶類別:

public class User : IdentityUser<long, UserLogin, UserRole, UserClaim> 
{ 
    public string FirstName { get; set; } 
    public string LastNme { get; set; } 
} 

的DbContext類:

public class CustomerManagerContext : IdentityDbContext<User> 
{ 
    public CustomerManagerContext(DbContextOptions<CustomerManagerContext> options) : base(options) 
    { 
    } 
} 

用戶登錄等級:

public class UserLogin : IdentityUserLogin<long> 
{ 
} 

UserRole的類別:

public class UserRole : IdentityUserRole<long> 
{ 
} 

UserClaim類:

public class UserClaim : IdentityUserClaim<long> 
{ 
} 

儘管我認爲是正確的,我得到我的DbContext類上面的錯誤。

enter image description here

我缺少什麼?

+0

爲什麼你的'IdentityUser'具有所有''屬性呢?我不認爲你需要所有這一切。 – NovaDev

+0

@NovaDev參見PankajKapare答案 – Dblock247

+0

您可能想要更簡單地開始,然後以更復雜的方式工作。你指出的下面的答案並沒有回答你爲什麼要以那種方式添加這些屬性的問題...... – NovaDev

回答

2

您可能想要更簡單地開始,然後以更復雜的方式工作。我希望這有幫助!

public class User : IdentityUser<long> 
{ 
    public string FirstName { get; set; } 
    public string LastNme { get; set; } 
} 
0

由於您已經自定義了用戶和角色,您的CustomerManagementContext定義應如下所示。

public class CustomerManagementContext : IdentityDbContext<User, IdentityRole<long>, long, UserLogin,UserRole,UserClaim>{} 
+0

更改後仍然表示User類不能轉換爲IdentityUser。 – Dblock247