Entity Framework 6.1-Database First介绍

原文:Entity Framework 6.1-Database First介绍

这种方式是比较传统的以数据库为核心的开发模式。比较适合有数据库DBA的团队、或者数据库已存在的情况。

优缺点:

1、优点:编辑代码最少的方式,在有完整的数据库的前提下,你几乎可以不编辑任何代码就能完成应用程序的数据层部分(EF)。

2、不够灵活,域模型结构完全由数据库控制生成,结构不一定合理;受数据库表和字段名影响,命名不规范。

创建步骤:1.在程序中新建DAL文件夹(或者单独创建DAL工程),

Entity Framework 6.1-Database First介绍

2.DAL文件夹点右键,选择添加->新建项。打开新建项界面,在界面中选择数据->ADO.NET实体数据模型。数据模型更名为TestEF.edmx,打开实体模型创建向导。

Entity Framework 6.1-Database First介绍Entity Framework 6.1-Database First介绍

Entity Framework 6.1-Database First介绍

3.选择从数据库生成

Entity Framework 6.1-Database First介绍

4.选择数据库连接(没有可以新建一个),点下一步

Entity Framework 6.1-Database First介绍

Entity Framework 6.1-Database First介绍

5.可以选择所有的表、视图和存储过程和函数。

Entity Framework 6.1-Database First介绍

可选的确定生成对象名称的单复数形式,选中后如果数据库表是负数形式,比如Books,创建的对应对象名就是Book,如果不选,则对应对象名是Books。

6.点击完成,生成EF的数据模型

Entity Framework 6.1-Database First介绍

Entity Framework 6.1-Database First介绍

7.测试代码

static void Main(string[] args)

  {

            Database.SetInitializer(new DropCreateDatabaseIfModelChanges<Entities>());

            Contact con = new Contact

            {

                Name = "hht"

            };

            Contact con2 = new Contact

            {

                Name = "zhansan"

            };

            var list = new List<Contact>();

            list.Add(con);

            list.Add(con2);

            CGroup group = new CGroup

            {

                Contacts = list,

                GName = "Master Group"

            };

            using (Entities db = new Entities())

            {

                db.CGroups.Add(group);

                db.SaveChanges();

                foreach (CGroup item in db.CGroups)

                {

                    var cons = item.Contacts;

                    Console.WriteLine("Group:" + item.GName + "  have Contact " + cons.Count() + " 个");

                    db.CGroups.Remove(item);

                }

                db.SaveChanges();

            }

   }

输出结果

Entity Framework 6.1-Database First介绍

数据库

Entity Framework 6.1-Database First介绍

Entity Framework 6.1-Database First介绍

OK,插入数据成功

Entity Framework 6.1-Database First介绍

上一篇:python使用多线程


下一篇:ActiveMQ(七)_伪集群和主从高可用使用(转)