・モデル・クラスの作成をする
・SysRoleモデルクラスの作成をする
namespace CodeFirst.Model
{
public class SysRole
{
public int ID { get; set; }
public string RoleName { get; set; }
public string RoleDesc { get; set; }
public virtual ICollection SysUserRoles { get; set; }
}
}
・SysUserモデルクラスの作成をする
namespace CodeFirst.Model
{
public class SysUser
{
public int ID { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public virtual ICollection SysUserRoles { get; set; }
}
}
・SysUserRoleモデルクラスの作成をする
namespace CodeFirst.Model
{
public class SysUserRole
{
public int ID { get; set; }
public int SysUserID { get; set; }
public int SysRoleID { get; set; }
public virtual SysUser SysUser { get; set; }
public virtual SysRole SysRole { get; set; }
}
}
・データベースの永続化を処理するコンテキストクラスの作成をする
・プロジェクトにEntityFrameworkパッケージを追加する
・DbContextベースクラスを継承する
・三つのプロパティを公開する
namespace CodeFirst.Model
{
class AccountContext : DbContext
{
public AccountContext()
: base("AccountContext")
{
}
public DbSet<SysRole> SysRoles { get; set; }
public DbSet<SysUser> SysUsers { get; set; }
public DbSet<SysUserRole> SysUserRoles { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
}
・接続文字列を設定する
<connectionStrings>
<add name="AccountContext"
providerName="System.Data.SqlClient"
connectionString="Serve=XXX;Database=Demo;Trusted_Connection=true" />
</connectionStrings>