• ADO.NET实体数据模型-DatabaseFirst


    昨天使用了CodeFirst,就是代码先行,今天试试数据库DatabaseFirst模式。

    使用CodeFirst连接Mysql_故里2130的博客-CSDN博客

    DatabaseFirst,就是数据库先行,先从数据库入手,两者是可以互相转换的。

    环境SqlServer2019数据库,vs2019,建立winform程序

    1.首先在数据库中建立数据库是AA,以及3个表,表中字段任意写

    注意:一定要带主键,否则无法自动生成

    2.打开vs2019,建立一个winform程序

    3.右键增加类,选择实体数据模型

    4.弹出界面,这里我们依次来介绍一下,不关心直接跳过看第五步

    这4个选项,分2部分。前面2个其实就是ModelFirst,后面2个就是CodeFirst。只是说,1和4都是基于先有数据的ModelFirstCodeFirst。2和3是基于没有数据的ModelFirstCodeFirst。所以,使用的时候,就先从是否有数据先进行。

    那么我们从第一项开始,同样建立一个winform程序,操作可以先看5的步骤,基本上一样

    4.1.点击是,点击下一步

    4.2.选择实体框架6,点击下一步 

    4.3.选择表,点击完成 

    4.4生成了对应的模型

    4.5,如果在模型上面增加和减少字段,对应的类也会增加和减少

    类中自动增加了 

    4.6,用法

    打开项目整体文件,可以看到AAEntities类

    看到这里,估计就恍然大悟了,真是殊途同归,不管使用Database-First,Model-First以及Code-first,最终都是一样的。使用方法参考后面的写法即可。

    第二项,其实就是不选择数据库,直接进行模型开发,输入表的字段和表名等等,然后再同步到数据库中。

    第三项,也是不选择数据库,直接进行代码输入,输入表的字段和表名等等,然后再同步到数据库中。

    第四项,就是本篇所说的。

    5.本案例选择最后一个

    6.这里我们选择服务器,以及账号密码,对应的数据库是AA

    7.然后点击是,进行下一步

    8.选择对应的表,点击完成

    9. 此时,我们看到自动生成了2个表,数据库中的第三个表,并没有生成。

    打开数据库,查看第三个表,可见,没有主键是不能自动生成的。

    10. Model1类解释

    Model1,名字是建立的时候可以自定义,其中name=Model1对应的就是配置文件中的数据库连接值。OnModelCreating方法,就是表和表之间的关系。这个可以和

    使用CodeFirst连接Mysql_故里2130的博客-CSDN博客,对比着看,就会明白了,刚好那边就要生成本篇这样的格式,两者是互补的。

    App.config配置文件 

    11.其余的2个表,就是我们需要的实体类,其实到了这里,和Code First一模一样了,接下来就是如何使用的问题了

    12. 使用

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Threading.Tasks;
    9. using System.Windows.Forms;
    10. namespace DB
    11. {
    12. public partial class Form1 : Form
    13. {
    14. public Form1()
    15. {
    16. InitializeComponent();
    17. }
    18. private void Form1_Load(object sender, EventArgs e)
    19. {
    20. Table_1 table_1 = new Table_1(); //使用实例化,进行赋值操作
    21. table_1.q = "111";
    22. table_1.qq= "1212";
    23. table_1.qqq = "真香啊";
    24. Model1 model = new Model1();
    25. model.Table_1.Add(table_1); //增加实体
    26. model.SaveChanges(); //保存到数据库中,千万别忘记了
    27. }
    28. }
    29. }

    下面的连接是EF对应的CRUD操作,可以进行查询。 

     查询数据 - EF Core | Microsoft Docs

    13.此时我们直接运行,就会把数据增加到数据库中了

    14.我们也可以进行全部查询

     进行条件查询

    来源:实体数据模型-DatabaseFirst(SqlServer)_database first_故里2130的博客-CSDN博客

  • 相关阅读:
    记录2022年微服务技术架构选型
    python-opencv计算重叠矩形面积IOU
    SVN 修改版本库地址url路径
    【多线程】单例模式
    使用Selenium进行Web自动化操作
    C++二义性、多态、纯虚函数、模板函数
    一个卡人机混合智能脖子的问题
    C语言学习记录(十五)C预处理器和C库
    SpringMVC的初理解
    PyQt5快速开发与实战 3.6 打包资源文件
  • 原文地址:https://blog.csdn.net/u012563853/article/details/126485595