CodeFirst

来源:互联网 发布:高校教学软件代理 编辑:程序博客网 时间:2024/04/30 18:23


・モデル・クラスの作成をする

・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>


原创粉丝点击