首页/技术分享

二次开发教程:entity framework 自定义映射

发布于:2019-07-24 16:30:08
3841人 分享

方法一:使用Attribute


    class Program

    {

        static void Main(string[] args)

        {

            HelloDbContext context = new HelloDbContext();

            var p1 = new Person() { Id = 1, Name = "Jim" };

            var p2 = new Person() { Id = 2, Name = "Tom" };

            context.Persons.Add(p1);

            context.Persons.Add(p2);

 

            context.SaveChanges();

        }

    }

 

    public class HelloDbContext : DbContext

    {

        private static string _connStr =

            @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=E:\code\gits\EntityFramework6\HelloEF\HelloEFDb.mdf;Integrated Security=True";

 

        public DbSet<Person> Persons { get; set; }

 

        public HelloDbContext():base(_connStr)

        {

 

        }

    }

 

    [Table("persons")]

    public class Person

    {

        [Column("person_id")]

        public int Id { get; set; }

        [Column("person_name")]

        public string Name { get; set; }

    }

方法二:重写DbContext.OnModelCreating


    class Program

    {

        static void Main(string[] args)

        {

            HelloDbContext context = new HelloDbContext();

            var p1 = new Person() { Id = 1, Name = "Jim" };

            var p2 = new Person() { Id = 2, Name = "Tom" };

            context.Persons.Add(p1);

            context.Persons.Add(p2);

 

            context.SaveChanges();

        }

    }

 

    public class HelloDbContext : DbContext

    {

        private static string _connStr =

            @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=E:\code\gits\EntityFramework6\HelloEF\HelloEFDb.mdf;Integrated Security=True";

 

        public DbSet<Person> Persons { get; set; }

 

        public HelloDbContext():base(_connStr)

        {

 

        }

 

        protected override void OnModelCreating(DbModelBuilder modelBuilder)

        {

            //base.OnModelCreating(modelBuilder);

            var entity = modelBuilder.Entity<Person>();

            entity.ToTable("persons");

            entity.Property(m => m.Id).HasColumnName("person_id");

            entity.Property(m => m.Name).HasColumnName("person_name");

        }

    }

    

    public class Person

    {        

        public int Id { get; set; }        

        public string Name { get; set; }

    }

转载请注明来源本文地址:https://www.tuituisoft/blog/3168.html

上一篇:

二次开发教程:entity framework 迁移

下一篇:

二次开发教程:Hello entity framework