天天看点

CodeFirst



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

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



继续阅读