• 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();

  • 相关阅读:
    JavaWeb的三大作用域
    软件工程最后一次作业
    软件工程第四次作业
    软件工程第三次作业
    软件工程第二次作业
    2020软件工程第一次作业
    新建Maven项目报错:Cannot resolve plugin org.apache.maven.plugins:maven-clean-plugin:x.x
    浅谈C++ STL
    C++中几种输入输出cin、cin.getline()、getline()、sscanf()、sprintf()、gets()等
    包含头文件的问题之1.7编程基础之字符串 24:单词的长度
  • 原文地址:https://www.cnblogs.com/GreenLeaves/p/7646302.html
Copyright © 2020-2023  润新知