EF基础知识小记三(设计器=>数据库)

时间:2022-04-24
本文章向大家介绍EF基础知识小记三(设计器=>数据库),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文主要介绍通过EF的设计器来同步数据库和对应的实体类.并使用生成的实体上下文,来进行简单的增删查该操作

1、通过EF设计器创建一个简单模型

(1)、右键目标项目添加新建项

(2)、选择ADO.Net实体数据模型,并将实体模型命名为Recipe1,点击下一步

(3)、选择空设计器,并点击完成

(4)、edmx空模型创建完毕,下一步右键设计界面创建实体

(5)、添加一个Person实体,实体属性如下图,并点击确定

图中创建键属性,实体会自动添加一个Id属性,并将该属性设为主键(数据库设计三范式之一,每个表必须有一个主键,且表中的每一列都和主键相关)

(6)、实体创建成功,如下图

(7)、给Person实体添加属性(包括导航属性和标量属性等),如下图

Name属性的详细设计界面如下图,基本都在vs的右下角

(8)、模型设计完毕,因为是第一次同步数据库,需要初始化一些信息(当然不初始化,模型设计器会采用默认值),右键右键计设器窗口,选择properties(属性)。更改数据库架构名称(Database Schema name)为Chapter2,更改实体容器名称(Entity Container Name)为EF6RecipesContext,如下图所示:

(9)、右键设计器,并更具模型生成数据库,如下图:

(10)、选择对应的数据库,并选择对应的实体框架,最终结果如下图:

(11)、点击完成,生成的Sql文件就会追加到你的项目中

(12)、右击设计器,执行该脚本,中途会让你连接到数据库,执行成功

表添加成功.

 (2)、通过DbContext进行简单的增删查该操作

(1)、DbContext上下文对象介绍

数据库上下文对象,对于数据库的操作,基本都看它,使用完它,注意释放!!!!!!

(2)、使用DbContext上下文对象进行简单的增删查该

        using (var context = new EF6RecipesContext())
            {
                var person = new Person
                {
                    Name = "张三"
                };
                context.People.Add(person);
                var person1 = new Person
                {
                    Name = "李四"
                };
                context.People.Add(person1);
                var person2 = new Person
                {
                    Name = "王五"
                };
                context.People.Add(person2);
                context.SaveChanges();
            }
            using (var context = new EF6RecipesContext())
            {
                var perple = context.People;
                foreach (var person in perple)
                {
                    Console.WriteLine("编号:{0} 姓名:{1}",person.Id,person.Name);
                }
            }
            Console.ReadKey();