当前位置: 首页 > news >正文

C# EF 使用

WPF EF MySQL

- - -版本
.NET Framework4.7.2
EntityFramework6.5.1
MySql.Data.EntityFramework9.1.0
  • 创建数据库 cc
  • App.config
<connectionStrings><add name="MyDbContext" providerName="MySql.Data.MySqlClient" connectionString="server=127.0.0.1;port=3306;database=cc;user=root;password=123456;persistsecurityinfo = True;Character Set=utf8;" />
</connectionStrings>
<system.data><DbProviderFactories><remove invariant="MySql.Data.MySqlClient"/><add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=9.1.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/></DbProviderFactories>
</system.data>
  • 测试
public partial class MainWindow : Window
{public MainWindow(){InitializeComponent();try{using (var context = new MyDbContext()){ // 查询var entities = context.MyEntities.Where(e => e.Name == "example").ToList();// 添加var newEntity = new MyEntity { Name = "new example" };context.MyEntities.Add(newEntity);context.SaveChanges();// 更新//var existingEntity = context.MyEntities.Find(newEntity.Id);//existingEntity.Name = "updated example";//context.SaveChanges();// 删除// context.MyEntities.Remove(existingEntity);//context.SaveChanges();}}catch (Exception ex){var d = "";}}
}[DbConfigurationType(typeof(MySql.Data.EntityFramework.MySqlEFConfiguration))]
public class MyDbContext : DbContext
{public MyDbContext() : base("name=MyDbContext"){ } public DbSet<MyEntity> MyEntities { get; set; }
}[Table("my_table")]
public class MyEntity
{[Key][DatabaseGenerated(DatabaseGeneratedOption.Identity)]public int Id { get; set; }[Required][StringLength(100)]public string Name { get; set; }
}
  • 打开 NuGet 包管理器控制台
Enable-Migrations -Force # 会在跟目录生成 Migrations\Configuration.cs
AutomaticMigrationsEnabled = true;  # Configuration.cs 中修改
update-database -Force	# 迁移
Enable-Migrations [-ContextTypeName <String>] [-EnableAutomaticMigrations] [-ProjectName <String>] [-StartUpProjectName <String>] [-ConnectionStringName <String>] [-Force] [<CommonParameters>]
ContextTypeName:项目继承自DBContext的类名字。
EnableAutomaticMigrations:开启自动迁移。
ProjectName:存放DBContext类的项目名称。
StartUpProjectName:解决方案中启动项目的名称,作用是调用该项目下的连接字符串。
ConnectionStringName:连接字符串名称Enable-Migrations -ContextTypeName "WpfApp2.MyDbContext" -ProjectName "WpfApp2" -StartUpProjectName "WpfApp2" -ConnectionStringName "MyDbContext" -Verbose -Force
update-database  -ProjectName "WpfApp2" -StartUpProjectName "WpfApp2" -ConnectionStringName "MyDbContext"  -Verbose -Force

WPF EF SQLServer

- - -版本
.NET Framework4.7.2
EntityFramework6.5.1
  • 创建数据库 cc
  • App.config
<connectionStrings><add name="MyDbContext" providerName="System.Data.SqlClient" connectionString="data source=LAPTOP-EGHJ2RO7;initial catalog=t1;user id=sa;password=1234567;connection timeout=5" />
</connectionStrings>
  • 测试
public partial class MainWindow : Window
{public MainWindow(){InitializeComponent();try{using (var context = new MyDbContext()){ // 查询var entities = context.MyEntities.Where(e => e.Name == "example").ToList();// 添加var newEntity = new MyEntity { Name = "new example" };context.MyEntities.Add(newEntity);context.SaveChanges();// 更新//var existingEntity = context.MyEntities.Find(newEntity.Id);//existingEntity.Name = "updated example";//context.SaveChanges();// 删除// context.MyEntities.Remove(existingEntity);//context.SaveChanges();}}catch (Exception ex){var d = "";}}
}public class MyDbContext : DbContext
{public MyDbContext() : base("name=MyDbContext"){ } public DbSet<MyEntity> MyEntities { get; set; }
}[Table("my_table")]
public class MyEntity
{[Key][DatabaseGenerated(DatabaseGeneratedOption.Identity)]public int Id { get; set; }[Required][StringLength(100)]public string Name { get; set; }
}
  • 打开 NuGet 包管理器控制台
Enable-Migrations -Force # 会在跟目录生成 Migrations\Configuration.cs
AutomaticMigrationsEnabled = true;  # Configuration.cs 中修改
update-database -Force	# 迁移
Enable-Migrations [-ContextTypeName <String>] [-EnableAutomaticMigrations] [-ProjectName <String>] [-StartUpProjectName <String>] [-ConnectionStringName <String>] [-Force] [<CommonParameters>]
ContextTypeName:项目继承自DBContext的类名字。
EnableAutomaticMigrations:开启自动迁移。
ProjectName:存放DBContext类的项目名称。
StartUpProjectName:解决方案中启动项目的名称,作用是调用该项目下的连接字符串。
ConnectionStringName:连接字符串名称Enable-Migrations -ContextTypeName "WpfApp2.MyDbContext" -ProjectName "WpfApp2" -StartUpProjectName "WpfApp2" -ConnectionStringName "MyDbContext" -Verbose -Force
update-database  -ProjectName "WpfApp2" -StartUpProjectName "WpfApp2" -ConnectionStringName "MyDbContext"  -Verbose -Force

相关文章:

C# EF 使用

WPF EF MySQL - - -版本.NET Framework4.7.2EntityFramework6.5.1MySql.Data.EntityFramework9.1.0 创建数据库 ccApp.config <connectionStrings><add name"MyDbContext" providerName"MySql.Data.MySqlClient" connectionString"server…...

简介Voronoi图Voronoi Diagrams

这是计算机的经典算法。 问题引入 倘若一张大白纸上有很多三角点&#xff0c;掉进去一个五星点&#xff0c;问&#xff0c;哪个三角离着五星最近&#xff1f;简单&#xff0c;算距离呗&#xff0c;这个五星到其他所有三角点的距离&#xff0c;找到最小的那个就行。 若掉进去…...

硬件测试工程师之EMC项目-辐射抗扰度试验(RS)测试标准解析思维导图

1&#xff1a;链接上一篇文章 硬件测试工程师之EMC项目-电磁干扰-谐波测试标准解析 2&#xff1a;总结思维导图并进行深入解析EMC-辐射抗扰度测试项目 附上相关报告文档以及图片解析。 3:以下为思维导图大致展示&#xff0c;后续可可方便观看。如有需要也可以下载。 本期先…...

H265编码丢帧问题分析

问题 通过海思芯片编码后,将编码的数据通过UDP网口发送到UDP 服务端,UDP服务端收到后保存成文件。 保存的文件有时候用VLC软件可以打开。有时候不能打开,同时用Elecard HEVC Analyer工具打开,发现VLC不能打开时丢帧。如下图,实际为858帧,而此处只有846帧。 分析 UDP包…...

CentOS Linux教程(12)--常用编辑器

文章目录 1. 背景2. nano编辑器2.1 检查安装2.2 安装nano2.3 使用nano 3. emacs编辑器3.1 检查安装3.2 安装emacs 3.3 使用emacs 1. 背景 我们经常需要编辑文件内容&#xff0c;windows上这个工作可以用记事本来做。 linux上对应的&#xff0c;我们可以使用nano或者emacs编辑…...

【浏览器学习笔记】-- 浏览器检查jQuery是否加载

环境&#xff1a;最近做爬虫实验&#xff0c;需要用到上下文http数据请求&#xff0c;为了能够兼容上下文环境&#xff0c;因此采用就jQuery请求&#xff0c;请求前需要加查是否有JQuery加载成功。 浏览器F12&#xff0c;打开浏览器控制台&#xff0c;复制粘贴以下代码&#x…...

大模型的提示学习

文章目录 人工提示设计自动提示设计经过预训练、指令微调和人类对齐后,我们接下来讨论如何通过提示学习方法来有效地使用大语言模型解决实际任务。目前常用的方法是设计合适的提示(Prompting),通过自然语言接口与大模型进行交互。在现有研究中,任务提示的设计主要依靠人工…...

2-143 基于matlab-GUI的脉冲响应不变法实现音频滤波功能

基于matlab-GUI的脉冲响应不变法实现音频滤波功能&#xff0c;输入加噪信号&#xff0c;通过巴特沃斯模拟滤波器脉冲响应不变法进行降噪。效果较好。程序已调通&#xff0c;可直接运行。 下载源程序请点链接&#xff1a;2-143 基于matlab-GUI的脉冲响应不变法实现音频滤波功能…...

鸿蒙移动应用开发-------前篇

一. 鸿蒙的起源 2012年&#xff0c;华为公司开始规划自己的操作系统&#xff0c;名为’鸿蒙‘。 2018年8月24日&#xff0c;华为公司向国家知识产权商标局申请了’华为鸿蒙‘商标&#xff0c;注册公告日期是2019年5月14日&#xff0c;专用权限期是从2019年5月14日到2029年5月…...

ROS(Robot Operating System)中,编写一个记录机器人速度并将其转换成轨迹

在ROS&#xff08;Robot Operating System&#xff09;中&#xff0c;编写一个记录机器人速度并将其转换成轨迹的类涉及到几个步骤。以下是一个简单的示例&#xff0c;展示了如何创建这样一个类&#xff0c;并将其放置在一个自定义的命名空间中。这个类将订阅机器人的速度信息&…...

了解bootstrap改造asp.net core MVC的样式模板

我们都知道&#xff0c;在使用默认的asp.net core MVC模板建立项目的时候&#xff0c;里面的样式是已经事先被写好了的。一般来说都在css目录下的site.css和bootstrap.css及下面的bootstrap.min.css中。我们打开bootstrap这些样式文件&#xff0c;里面有大量的样式类的定义&…...

【C++】对左值引用右值引用的深入理解(右值引用与移动语义)

&#x1f308; 个人主页&#xff1a;谁在夜里看海. &#x1f525; 个人专栏&#xff1a;《C系列》《Linux系列》 ⛰️ 天高地阔&#xff0c;欲往观之。 ​ 目录 前言&#xff1a;对引用的底层理解 一、左值与右值 提问&#xff1a;左值在左&#xff0c;右值在右&#xff1f;…...

寻找符合要求的最长子串

题目描述 给定一个字符串 s s s &#xff0c;找出这样一个子串&#xff1a; 1&#xff09;该子串中的任意一个字符最多出现2次&#xff1b; 2&#xff09;该子串不包含指定某个字符&#xff1b; 请你找出满足该条件的最长子串的长度。 输入描述&#xff1a; 第一行为要求…...

【vim文本编辑器gcc编译器gdb调试器】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、vimvim安装vim常用快捷键vim使用vimtutor zh文档 二、gcc编译器安装gcc工具编译源代码 三、gdb调试器gdb安装gdb常用指令gdb简单上手使用gdb的单步调试功能 总结…...

解决使用Golang的email库发送qq邮件报错short response,错误类型为textproto.ProtocolError

问题阐述 使用email库发送QQ邮件&#xff0c;采用465端口&#xff1a; package mainimport ("fmt""net/smtp""github.com/jordan-wright/email" )func SendEmail(sendTo string, subject string, body string) (err error) {e : email.NewEmai…...

为什么说高级工程师研究的不仅是器件的稳态,模拟器件的开关过程

高级工程师研究器件的开关过程而不仅仅是稳态&#xff0c;主要有以下几个原因&#xff1a; 1. 动态性能优化&#xff1a;开关过程中的特性&#xff0c;如上升时间、下降时间、过冲、振铃等&#xff0c;直接影响系统的性能。了解和优化这些动态特性对于提高系统的速度、精度和稳…...

Matlab实现白鲸优化算法(BWO)求解路径规划问题

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1内容介绍 白鲸优化算法&#xff08;BWO&#xff09;是一种受自然界白鲸捕食行为启发的新型优化算法&#xff0c;它通过模拟白鲸的群体捕猎策略和社会互动来探索问题的最优解。BWO因其强大的全局搜索能力和高效的局部搜索能…...

SQLserver索引的优化和使用

在SQL Server中&#xff0c;索引的优化和有效使用是提高查询性能的关键。以下是一些详细的步骤和最佳实践&#xff0c;帮助你优化和使用索引。 1. 理解索引类型 聚集索引&#xff08;Clustered Index&#xff09; 定义&#xff1a;表中数据的物理排序顺序与索引的逻辑顺序相…...

Linux 安装nacos

1.下载版本 https://github.com/alibaba/nacos/tags 2.解压压缩包&#xff0c;启动 (1)将压缩包放到/usr/local目录下&#xff0c;解压 tar -xvf nacos-server-2.0.0-BETA.tar.gz(2)删除压缩包 rm -f nacos-server-2.0.0-BETA.tar.gz(3) 找到nacos的mysql的数据库脚本,在数…...

水仙花判断

一个三位整数&#xff0c;如果满足条件&#xff1a;个位数的立方十位数立方百位数立方这个数&#xff0c;那么称之为“水仙花数” 编程判断一个三位整数是不是水仙花数。 输入格式: 输入一个三位整数 输出格式: 是则输出YES&#xff0c;不是输出 NO &#xff08;注意是大写字母…...

Midjourney模糊效果深度拆解(从--stylize到--sref的光学模拟原理揭秘)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Midjourney模糊效果的本质与视觉认知基础 Midjourney 中的模糊效果并非图像后处理意义上的高斯模糊&#xff08;Gaussian Blur&#xff09;&#xff0c;而是由扩散模型在潜空间中对高频细节进行概率性抑制所…...

Claude服务治理架构升级(生产环境零停机迁移实录)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Claude服务治理架构升级&#xff08;生产环境零停机迁移实录&#xff09; 为应对日益增长的推理请求量与多租户策略精细化需求&#xff0c;我们对Claude服务治理层实施了从单体API网关向云原生服务网格的平滑…...

5大核心功能掌握HandheldCompanion:Windows掌机终极控制伴侣

5大核心功能掌握HandheldCompanion&#xff1a;Windows掌机终极控制伴侣 【免费下载链接】HandheldCompanion ControllerService 项目地址: https://gitcode.com/gh_mirrors/ha/HandheldCompanion 你是否正在寻找一款能够彻底改变Windows掌机游戏体验的控制软件&#xf…...

i茅台自动预约系统:告别手动抢购,5分钟搭建智能预约平台

i茅台自动预约系统&#xff1a;告别手动抢购&#xff0c;5分钟搭建智能预约平台 【免费下载链接】campus-imaotai i茅台app自动预约&#xff0c;每日自动预约&#xff0c;支持docker一键部署&#xff08;本项目不提供成品&#xff0c;使用的是已淘汰的算法&#xff09; 项目地…...

PyAutoGUI图像识别踩坑实录:如何让游戏自动化脚本更稳定?(附避坑指南)

PyAutoGUI图像识别稳定性优化实战&#xff1a;从原理到避坑指南游戏自动化脚本开发中&#xff0c;图像识别是最容易翻车的环节。上周我的《原神》自动采集脚本在好友电脑上运行时&#xff0c;连续三次误点了传送锚点而非目标采集物——这让我意识到不同设备环境对locateOnScree…...

3分钟掌握清华大学学位论文LaTeX模板:新手快速入门终极指南

3分钟掌握清华大学学位论文LaTeX模板&#xff1a;新手快速入门终极指南 【免费下载链接】thuthesis LaTeX Thesis Template for Tsinghua University 项目地址: https://gitcode.com/gh_mirrors/th/thuthesis 你是否正在为清华大学学位论文的格式要求而头疼&#xff1f;…...

Windows安卓子系统终极优化指南:如何通过WSABuilds实现完美Android体验

Windows安卓子系统终极优化指南&#xff1a;如何通过WSABuilds实现完美Android体验 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or Ke…...

从酒店评论到情感分析:手把手教你用fastText做文本分类(Python实战避坑指南)

从酒店评论到情感分析&#xff1a;fastText文本分类实战全解析 当产品经理甩给你一份未经处理的酒店评论数据集&#xff0c;要求48小时内给出情感倾向分析报告时&#xff0c;作为工程师的你该如何应对&#xff1f;本文将带你用fastText这个轻量级工具&#xff0c;从原始数据到…...

Frida Spawn与Attach模式深度解析:Android加固对抗决策指南

1. 为什么刚学Frida的人总在Spawn和Attach之间反复横跳&#xff1f; “Frida Hook跑不起来”——这是我过去三年在安全技术社区、逆向学习群、CTF训练营里听到最多的一句抱怨。但真正拆开看&#xff0c;90%的问题根本不是代码写错了&#xff0c;也不是目标App加固太强&#xff…...

如何高效使用智能手机号码定位工具:开源解决方案全指南

如何高效使用智能手机号码定位工具&#xff1a;开源解决方案全指南 【免费下载链接】location-to-phone-number This a project to search a location of a specified phone number, and locate the map to the phone number location. 项目地址: https://gitcode.com/gh_mir…...