.NET FRAMEWORK Entity Framework,EF 手动DB FIRST,不使用设计器
环境:
VS2019
SQL SERVER 2012
一、在数据库(db1)创建表结构
“db1”是数据库名,“Table1”是表名。
USE [db1]
GO /****** Object: Table [dbo].[Table1] Script Date: 2020/12/30 10:14:54 ******/
SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO CREATE TABLE [dbo].[Table1](
[aa] [bigint] IDENTITY(1,1) NOT NULL,
[bb] [nvarchar](50) NULL,
[cc] [nvarchar](50) NULL,
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
[aa] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] GO
二、在VS里新建一个WINFORM项目
基于.NET FRAMEWORK 4.5.2
1.使用nuget下载“EntityFramework”,此时最新版本是6.4.4。
下载成功后,可以观察到app.config已被自动修改,在原有基础上新增了“configSections”、“entityFramework”两个配置节。原始只有“startup”。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="false"/>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
</startup> <connectionStrings>
<add name="Db1Context" connectionString="Data Source=localhost;Initial Catalog=db1;MultipleActiveResultSets=True;User ID=sa;Password=som;Pooling=true;" providerName="System.Data.SqlClient"/>
</connectionStrings> <entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
</configuration>
2.新建“Table1”实体类,并设置主键和自增长列,与表结构保持一致
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; namespace WindowsFormsEFdbFirst.DbModel
{
public class Table1
{
[Key] //主键
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] //设置自增
public long aa { get; set; } public string bb { get; set; } public string cc { get; set; } }
}
3.新建“Db1DbContext”
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;
using WindowsFormsEFdbFirst.DbModel; namespace WindowsFormsEFdbFirst.DbContext2
{
public class Db1DbContext : DbContext
{
public Db1DbContext()
: base("name=Db1Context")
{
} protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//移除复数表名
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); base.OnModelCreating(modelBuilder);
} public virtual DbSet<Table1> Table1s { get; set; }
}
}
4.界面上添加一个BUTTON,双击添加点击事件。
private void button1_Click(object sender, EventArgs e)
{
try
{
using (Db1DbContext db1 = new Db1DbContext())
{
Table1 t1 = new Table1();
t1.bb = "bb" + DateTime.Now.ToString();
t1.cc = "c" + DateTime.Now.ToString(); db1.Table1s.Add(t1);
db1.SaveChanges();
}
MessageBox.Show("完成");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
插入一条记录做演示。
.NET FRAMEWORK Entity Framework,EF 手动DB FIRST,不使用设计器的更多相关文章
- 如何处理Entity Framework / Entity Framework Core中的DbUpdateConcurrencyException异常(转载)
1. Concurrency的作用 场景有个修改用户的页面功能,我们有一条数据User, ID是1的这个User的年龄是20, 性别是female(数据库中的原始数据)正确的该User的年龄是25, ...
- Entity FrameWork 与 NHibernate
1 Nhibernate 展示了NHibernate在数据库和用程序之间提供了一个持久层. 应用程序自己提供ADO.NET连接,并且自行管理事务.NHibernate体系结构如图1-51所示.它体 ...
- Entity Framework技巧系列之三 - Tip 9 – 12
提示9. 怎样直接删除一个对象而无需检索它 问题 最常见的删除Entity Framework中实体的方式是将你要删除的实体传入Context中并像如下这样删除: 1 // 按ID查找一个类别 2 / ...
- LINQ TO SQL和Entity Framework 的关系 你了解多少?
1. LINQ TO SQL 和EF 特点: LINQ TO SQL和Entity Framework都是一种包含LINQ功能的ORM 也就是所谓的关系对象的映射.其中包括的有DBFrist ...
- Code First :使用Entity. Framework编程(5) ----转发 收藏
第五章 对数据库映射使用默认规则与配置 到目前为止我们已经领略了Code First的默认规则与配置对属性.类间关系的影响.在这两个领域内,Code First不仅影响模型也影响数据库.在这一章,你将 ...
- Entity Framework 全面教程详解(转)
目录 预备知识 2 LINQ技术 2 LINQ技术的基础 - C#3.0 2 自动属性 2 隐式类型 2 对象初始化器与集合初始化器 3 匿名类 3 扩展方法 ...
- 转载Entity Framework全面教程
转载原地址:http://www.cnblogs.com/lsxqw2004/archive/2009/05/31/1495240.html#_Toc228672754 预备知识 2 LINQ技 ...
- ASP.NET MVC- Model- An Introduction to Entity Framework for Absolute Beginners
Introduction This article introduces Entity Framework to absolute beginners. The article is meant fo ...
- Entity Framework 教程(转)
预备知识 2 LINQ技术 2 LINQ技术的基础 - C#3.0 2 自动属性 2 隐式类型 2 对象初始化器与集合初始化器 3 匿名类 3 扩展方法 ...
- LINQ to SQL和Entity Framework对比与关联 (转载)
LINQ to SQL和Entity Framework对比与关联 LINQ to SQL和Entity Framework都是一种包含LINQ功能的对象关系映射技术.他们之间的本质区别在 ...
随机推荐
- 智能logo免费体验|网站Logo这样设计搜索排名跟着提升
简介:一个好的网站logo,不仅让用户一眼知道网站品牌传递的信息,还能提高网站专业度和丰富度,增加SEO搜索排名.今天分享下如何设计一款实用的网站logo.阿里云智能logo设计,在线免费体验log ...
- 云上技术 | 混合云管理平台多Region架构
简介: 随着现代化进程加速,企业业务规模和迭代速度也今非昔比,在已具备一定规模的中大型电力系统中,会面临着数字化升级的压力,包括复杂组织架构管理.计算资源弹性扩展.IT运维提效等需求.基于电力行业属性 ...
- AI和大数据结合,智能运维平台助力流利说提升核心竞争力
简介: 简介:本文整理自数智创新行--智能运维专场(上海站),流利说最佳实践演讲:<基于SLS千万级在线教育平台统一监控运营实践> 作者:孙文杰 流利说运维总监元乙 阿里云智能技术专家 优 ...
- Jaeger插件开发及背后的思考
简介: 本文主要介绍Jaeger最新的插件化后端的接口以及开发方法,让大家能够一步步的根据文章完成一个Jaeger插件的开发.此外SLS也推出了对于Jaeger的支持,欢迎大家试用. 随着云原生 + ...
- WPF 简单实现一个支持删除自身的应用
我准备写一个逗比的应用,然而我担心被小伙伴看到这个应用的文件从而知道是我写的,于是我就需要实现让应用能自删除的功能.核心实现方法就是调用 cmd 传入命令行,等待几秒之后删除文件 应用程序在运行时,是 ...
- C#的基于.net framework的Winform编程 - 编程手把手系列文章
对于C#,笔者最早接触的是ASP.NET里的开发,后面对Winform程序也有一定的开发,但是真正理解和重新编码是这些年的事,在我的C#标签里有一些例子,记录了winform程序开发的一些功能.此文只 ...
- linux基础命令及bash shell特性
linux基础命令及bash shell特性 目录 linux基础命令及bash shell特性 1.linux基础命令 1.1 查看内核版本和linux发行版本 1.2 查看服务器硬件信息 1.3 ...
- 🔥🔥🔥httpsok-v1.8.0 SSL证书自动续签就应该这么简单
httpsok-v1.8.0 SSL证书自动续签就应该这么简单 简介 一行命令,一分钟轻松搞定SSL证书自动续期 httpsok 是一个便捷的 HTTPS 证书自动续签工具,专为 Nginx 服务器设 ...
- 在jeecg-boot中密码的使用
1.生成密码并入库保存 String id= SnowflakeIdUtil.nextValue();//生成id operatCompany.setId(id); String salt = oCo ...
- centos7 hpc高性能计算集群配置(无密码访问、nfs文件共享)
0.检查硬件的超线程 由于模型运行时,每个进程几乎都会占用100%的CPU计算能力,开启超线程之后,每个进程最多使用每个核心50%的计算能力,导致程序运行变慢. 1,物理CPU个数:cat /proc ...