Entity Framework 表的创建和增删改查

1.实体与表的映射

        创建一个表,表的的名称是“Entities”,表有两列“Label”和“Type”,类型分别为int64和int32。

[Table("Entities")]
    public class EntityDef
    {
        [Key]
        [Column("Label")]
        public Int64 Label { get; set; }

        [Column("Type")]
        public Int32 Type { get; set; }
    }

2.DbContext的实现

    myContext继承DbContext,创建数据库,并提供对表的操作。“NpgsqlContext”是连接数据库的字符串。

class myContext : DbContext
    {
        public DbSet<EntityDef> myEntity { get; set; }

        public myContext()
           : base("NpgsqlContext")
        {

        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.HasDefaultSchema("public");
            base.OnModelCreating(modelBuilder);
        }
    }

3.表的增删改查

    对表的增删改查以SaveChanges()将操作保存到数据源,并重置对象的上下文。

 class Program
    {
        static void Main(string[] args)
        {
            using (var context = new myContext())
            {
                //增
                context.myEntity.Add(new EntityDef { Type = 110 });
                context.myEntity.Add(new EntityDef { Type = 120 });
                context.SaveChanges();


                //删
                var itemToRemove = context.myEntity.FirstOrDefault();
                if (itemToRemove != null)
                {
                    context.myEntity.Remove(itemToRemove);
                    context.SaveChanges();
                } 

                //改
                var itemToModify = context.myEntity.FirstOrDefault();
                if (itemToModify != null)
                {
                    itemToModify.Type = 140;
                    context.SaveChanges();
                }

                //查
                var itemToQuery = context.myEntity.FirstOrDefault();
            }
        }

    }

4.操作结果

猜你喜欢

转载自blog.csdn.net/liyazhen2011/article/details/80541546