EntityFramework6写的数据访问框架之四使用

来源:互联网 发布:正元恒邦数据是假的吗 编辑:程序博客网 时间:2024/06/05 04:05

对于一个新的数据库连接,需要重写一个Basedb

using MyTest;using System;using System.Collections.Generic;using System.Configuration;using System.Data.Entity;using System.Data.Entity.ModelConfiguration.Conventions;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MyTest{    public class MyDB<T> : BaseDb<T> where T : class    {        public MyDB() :            base(ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString)        {        }        protected override void OnModelCreating(DbModelBuilder modelBuilder)        {            //去掉复数映射            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();            modelBuilder.Configurations.Add(new UserMap());            base.OnModelCreating(modelBuilder);        }    }  }

也需要重写一个BaseDAL

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MyTest{    public class MyDAL : BaseDAL    {        public override BaseDb<T> GetDbContext<T>()        {            return new MyDB<T>();        }    }}

声明实体

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MyTest{   public class User    {     public int ID      {         get;set;     }     public string UserName      {         get;set;     }     public string PassWord      {         get;set;     }     public string RealName      {         get;set;     }     public string IDCard      {         get;set;     }     public string EMail      {         get;set;     }     public string Address      {         get;set;     }     public string Power      {         get;set;     }     public string Remarks      {         get;set;     }    }}

声明对应关系

using System;using System.Collections.Generic;using System.Data.Entity.ModelConfiguration;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MyTest{    public class UserMap : EntityTypeConfiguration<User>    {        public UserMap()        {            this.HasKey(t => t.UserName).Ignore(t=>t.ID);            this.ToTable("User");        }    }}

声明数据访问层

using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MyTest{    public class UserDAL : MyDAL    {        public void Add(User item)        {            base.Add<User>(item);        }        public void Update(User item)        {            base.Update<User>(item);        }        public List<User> GetAllUser()        {            return base.ProcedureToList<User>("sp_GetAllUser", new SqlParameter("@RoleName", SqlDbType.NVarChar, 20) { Value = "sss" });        }    }}


0 0
原创粉丝点击