5. Create Domain Models (建立 DomainModels) - wezmag/AspNetIdentityDbFirst GitHub Wiki

In project root, create a folder name DomainModels. Inside the folder, create classes as below:

首先,在專案根目錄,建立一個名為DomainModels的資料夾,然後在裡面加入以下類別:

  1. MyContext.cs, inherits from IdentityDbContext<AspNetUser, AspNetRole, string, AspNetUserLogin, AspNetUserRole, AspNetUserClaim>.

We use string for TKey here, which means that the primary key for users table is NVARCHAR. If you use INT for the primary key, you will have to change it to int.

  1. MyContext.cs,繼承 IdentityDbContext<AspNetUser, AspNetRole, string, AspNetUserLogin, AspNetUserRole, AspNetUserClaim>

後方 TKey 用 string 代表這張表的 Id 是 nvarchar,在建立資料庫時,如果是用 Id 是用 Int ,那 TKey 就是用 int

using Microsoft.AspNet.Identity.EntityFramework;

namespace AspNetIdentityDbFirstSampe.WebSite.DomainModels
{
    public partial class MyContext
        : IdentityDbContext<AspNetUser, AspNetRole, string, AspNetUserLogin, AspNetUserRole, AspNetUserClaim>
    {
        public static MyContext Create()
        {
            return new MyContext();
        }
    }
}
  1. AspNetUser.cs, inherits from IdentityUser<string, AspNetUserLogin, AspNetUserRole, AspNetUserClaim>

  2. AspNetUser.cs,繼承 IdentityUser<string, AspNetUserLogin, AspNetUserRole, AspNetUserClaim>

using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using System.Security.Claims;
using System.Threading.Tasks;

namespace AspNetIdentityDbFirstSampe.WebSite.DomainModels
{
    public partial class AspNetUser : IdentityUser<string, AspNetUserLogin, AspNetUserRole, AspNetUserClaim>
    {
    }
}
  1. AspNetRole.cs, inherits from IdentityUserRole<string>

  2. AspNetRole.cs 繼承 IdentityUserRole<string>

using Microsoft.AspNet.Identity.EntityFramework;

namespace AspNetIdentityDbFirstSampe.WebSite.DomainModels
{
    public partial class AspNetUserRole : IdentityUserRole<string>
    {
    }
}
  1. AspNetUserLogin.cs, inherits from IdentityUserLogin<string>

  2. AspNetUserLogin.cs 繼承 IdentityUserLogin<string>

using Microsoft.AspNet.Identity.EntityFramework;

namespace AspNetIdentityDbFirstSampe.WebSite.DomainModels
{
    public partial class AspNetUserLogin : IdentityUserLogin<string>
    {
    }
}
  1. AspNetUserClaim.cs, inherits from IdentityUserClaim<string>

  2. AspNetUserClaim.cs 繼承 IdentityUserClaim<string>

using Microsoft.AspNet.Identity.EntityFramework;

namespace AspNetIdentityDbFirstSampe.WebSite.DomainModels
{
    public partial class AspNetUserClaim : IdentityUserClaim<string>
    {
    }
}
  1. AspNetUserRole.cs, inherits from IdentityUserRole<string>

  2. AspNetUserRole.cs 繼承 IdentityUserRole<string>

using Microsoft.AspNet.Identity.EntityFramework;

namespace AspNetIdentityDbFirstSampe.WebSite.DomainModels
{
    public partial class AspNetUserRole : IdentityUserRole<string>
    {
    }
}
⚠️ **GitHub.com Fallback** ⚠️