C#之EF 使用篇之EF的分类模式

Model First

流程:
1.创建控制台程序
2.添加新项-“ADO.NET Entity Data Model”
在这里插入图片描述

3.模型设计视图中,添加新实体
在这里插入图片描述

在这里插入图片描述
4.添加实体属性
添加两个Scalar属性:“Customer”和“OrderDate(为datetime类型,可选中它在属性中修改)”;同样的方式添加第二个实体“OrderDetail”,并添加“Product”和“UnitPrice”属性
在这里插入图片描述

5.添加关联关系
在这里插入图片描述

6.生成数据库
在模型设计视图空白处选择“从模型生成到数据库
在这里插入图片描述

7.选择数据库链接
在这里插入图片描述
在这里插入图片描述
8.生成数据库上下文和实体类(自动生成)
若是没有保存,查看模型有没有做保存动作

9.更新
更新模型设计图后,对应实体类会自动改变,选择从模型生成到数据库(重新生成脚本)即可

Code FIrst(代码优先模式)

优点

  • 开发人员只需要编写对应的数据类,自动生成数据库

与Model First区别

  • 更新方式

    • ModeI First:通过实体模型进行数据库设计
    • Code First:不借助于实体数据模型设计器,而是直接通过编码(数据类)方式设计实体模型
  • 处理过程

    • Code First:通过“数据注释”和“fluent API”进行映射和配置
    • Model First:通过EDM文件
  • 流程
    1.添加两个类Order OrderDetail – POCO1
    两个类在导航属性进行关联
    在这里插入图片描述
    2.定义数据库上下文操作类(OrederContext)2

  • 安装nugut包

    • Nugut在线安装,选择entity framework
      此处有增删改查操作,需继承于"System.Data.Entity.DbContext”,因此需要安装EF(EntityFramwork包)
  • 数据库上下文操作
    在这里插入图片描述
    数据库配置
    在appconfig文件中配置
    在这里插入图片描述
    配置完毕,构造函数多了一个连接名参数
    在这里插入图片描述

代码使用
在这里插入图片描述
数据库会自动多一个数据对应名字的数据库

重要:dbo._MigrationHistory

PS:
并不代表一定就必须通过数据类来定义模型,事实上也可以通过现有数据库生成数据类

EF三种编程方式详细图文教程(C#+EF)之Code First

DataBaseFirsst

1.mysql数据库安装

  • 下载MySql for Visual Studio

  • 安装时选择custom,并选择对应vs的路径在这里插入图片描述

  • vs新增数据库
    服务器资源管理器-数据连接-新增数据库

2.新增控制台应用程序,ADO.NET Entity Data Model
3.右键添加新建项,选择“ADO.NET Entity Data Model”,名称输入EFDemoDB
4.选择从数据库生成

  • 可能没有mysql的数据库,需要用Nuget方式安装MySql.Data.Entity-6.9.12,MySql.Data-6.9.12
  • 两个dll的版本必须一模一样,否则会出错误
    5.选择数据库连接/新建数据库连接并选择
    6.选择表
    7.自动生成数据库类和实体类和XXXXDB数据库上下文操作类
    8.数据库查询
    在这里插入图片描述

9.表结构更新
在模型设计视图空白处右键,选择“从数据库更新模型”接着按照向导操作即可
在这里插入图片描述

安装MySql for Visual Studio的坑
EF三种编程方式详细图文教程(C#+EF)之Database First


  1. POCO: Plain Old C# Object ,内在含义:那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的C#对象 ↩︎

  2. 对数据进行增删改查操作 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# Winform应用程序中使用Entity Framework (EF) 可以通过以下步骤实现: 1. 创建一个C# Winform应用程序项目。 2. 在项目中添加对Entity Framework的引用。可以通过NuGet包管理器安装Entity Framework。 3. 创建一个数据模型类,用于映射数据库表。可以使用EF的Code First或者DB First方法来创建模型类。 4. 配置数据库连接字符串。可以在应用程序的配置文件中添加连接字符串,或者在代码中直接指定连接字符串。 5. 使用EF的DbContext类来操作数据库。可以通过DbContext类的实例来执行查询、插入、更新和删除等操作。 下面是一个简单的示例代码,演示了如何在C# Winform应用程序中使用EF进行数据库操作: ```csharp using System; using System.Linq; using System.Windows.Forms; namespace WinformEFExample { public partial class MainForm : Form { private MyDbContext dbContext; public MainForm() { InitializeComponent(); dbContext = new MyDbContext(); } private void MainForm_Load(object sender, EventArgs e) { // 查询数据 var customers = dbContext.Customers.ToList(); dataGridView1.DataSource = customers; } private void btnAdd_Click(object sender, EventArgs e) { // 添加数据 var customer = new Customer { Name = txtName.Text, Email = txtEmail.Text }; dbContext.Customers.Add(customer); dbContext.SaveChanges(); // 刷新数据 var customers = dbContext.Customers.ToList(); dataGridView1.DataSource = customers; } } } ``` 请注意,上述示例中的`MyDbContext`和`Customer`是根据具体的数据模型和数据库表来定义的,你需要根据自己的实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值