entity framework 学习备忘录

使用entity framework,可以不用编写sql语句,直接像操作本地对象一样操作数据库中的数据。并且支持大部分数据库(包括oracle)

可以直接添加edmx数据。如下图

后续按照指引一直下一步即可完成edmx的创建,创建的edmx如下。

在生成的content.cs的文件中已经自动继承Dbcontent,可以直接操作该类中的获取数据对象的属性获取数据库中的数据。

新增操作

private void Add()
        {
            using (dwmjDbContext db = new dwmjDbContext())
            {
                var listMjsbxx = new List<mjsbxx>
                {
                    new mjsbxx
                    {
                      zjid   = "A",
                      ldbh = "50",
                      UPDATETIME = new DateTime(2016, 4, 7)
                    },
                    new mjsbxx
                    {
                        zjid = "B",
                         ldbh = "50",
                        UPDATETIME = new DateTime(2016, 4, 8)
                    }

                };

                db.mjsbxx.AddRange(listMjsbxx);
                db.SaveChanges();
            }
        }

查询操作

 private List<mjsbxx> Select()
        {

            using (dwmjDbContext db = new dwmjDbContext())
            {
                var mjsbxxs = db.mjsbxx.Where(p=>p.zjid== "A").ToList();
                return mjsbxxs;
            }
        }

更新操作

 private void Update()
        {

            using (dwmjDbContext db = new dwmjDbContext())
            {
                var mjsbxxs = db.mjsbxx;
                if (mjsbxxs.Any())//序列中有元素
                {
                    var mjsbxxModel = mjsbxxs.First(d => d.zjid == "A");
                    mjsbxxModel.zjid = "AC";
                    db.SaveChanges();
                }
            }
        }

删除操作

 private void Delete()
        {

            using (dwmjDbContext db = new dwmjDbContext())
            {
                var mjsbxxModel = db.mjsbxx.Single(d => d.zjid == "A");
                if (mjsbxxModel != null)//序列中有元素
                {
                    db.mjsbxx.Remove(mjsbxxModel);//如果满足条件,就将该对象使用Remove方法标记为Deleted
                    db.SaveChanges();//最后持久化到数据库
                }
            }
        }
原文地址:https://www.cnblogs.com/KQNLL/p/8546540.html