环境:

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,不使用设计器的更多相关文章

  1. 如何处理Entity Framework / Entity Framework Core中的DbUpdateConcurrencyException异常(转载)

    1. Concurrency的作用 场景有个修改用户的页面功能,我们有一条数据User, ID是1的这个User的年龄是20, 性别是female(数据库中的原始数据)正确的该User的年龄是25, ...

  2. Entity FrameWork 与 NHibernate

      1 Nhibernate 展示了NHibernate在数据库和用程序之间提供了一个持久层. 应用程序自己提供ADO.NET连接,并且自行管理事务.NHibernate体系结构如图1-51所示.它体 ...

  3. Entity Framework技巧系列之三 - Tip 9 – 12

    提示9. 怎样直接删除一个对象而无需检索它 问题 最常见的删除Entity Framework中实体的方式是将你要删除的实体传入Context中并像如下这样删除: 1 // 按ID查找一个类别 2 / ...

  4. LINQ TO SQL和Entity Framework 的关系 你了解多少?

    1. LINQ  TO SQL  和EF 特点:  LINQ TO SQL和Entity Framework都是一种包含LINQ功能的ORM 也就是所谓的关系对象的映射.其中包括的有DBFrist   ...

  5. Code First :使用Entity. Framework编程(5) ----转发 收藏

    第五章 对数据库映射使用默认规则与配置 到目前为止我们已经领略了Code First的默认规则与配置对属性.类间关系的影响.在这两个领域内,Code First不仅影响模型也影响数据库.在这一章,你将 ...

  6. Entity Framework 全面教程详解(转)

    目录 预备知识    2 LINQ技术 2 LINQ技术的基础 - C#3.0    2 自动属性    2 隐式类型    2 对象初始化器与集合初始化器    3 匿名类    3 扩展方法    ...

  7. 转载Entity Framework全面教程

    转载原地址:http://www.cnblogs.com/lsxqw2004/archive/2009/05/31/1495240.html#_Toc228672754 预备知识    2 LINQ技 ...

  8. 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 ...

  9. Entity Framework 教程(转)

    预备知识    2 LINQ技术    2 LINQ技术的基础 - C#3.0    2 自动属性    2 隐式类型    2 对象初始化器与集合初始化器    3 匿名类    3 扩展方法    ...

  10. LINQ to SQL和Entity Framework对比与关联 (转载)

    LINQ to SQL和Entity Framework对比与关联       LINQ to SQL和Entity Framework都是一种包含LINQ功能的对象关系映射技术.他们之间的本质区别在 ...

随机推荐

  1. 聊聊日志硬扫描,阿里 Log Scan 的设计与实践

    简介: SLS 新推出 Scan 功能,让未索引的字段也支持搜索(硬扫描模式),节省全量索引产生的构建和存储费用,同时 Scan 的运行时计算模式对于杂乱结构的日志数据有更好的适配,帮助企业客户实现数 ...

  2. 冬奥幕后故事:从低碳火炬到AI裁判,十四年后中国科技再上场

    ​北京冬奥会开幕后,一个段子在社交媒体上流传甚广:"夏奥开幕式和冬奥开幕式就差半年,这半年人类科技进步真大啊." ​ 文|张婧怡 封面来源|北京日报客户端 冬奥季终于到来. 2月4 ...

  3. 基于 MaxCompute 的智能推荐解决方案

    简介: 在互联网行业红利已过.在获客成本越来越高.在用户在线时长全网基本无增长以及信息大爆炸的情况下,如何更好的转化新用户和提升老用户粘性就变得至关重要,智能化的个性化推荐无疑是经过验证的重要手段之一 ...

  4. 深入解析 Dubbo 3.0 服务端暴露全流程

    ​简介: 随着云原生时代的到来,Dubbo 3.0 的一个很重要的目标就是全面拥抱云原生.正因如此,Dubbo 3.0 为了能够更好的适配云原生,将原来的接口级服务发现机制演进为应用级服务发现机制. ...

  5. [FE] uni-app 导航栏开发指南

    一种是 原生导航栏添加自定义按钮.简单明了. pages.json 配置 { "path": "pages/log/log", "style" ...

  6. WPF 通过 EXIF 设置和读取图片的旋转信息

    本文将告诉大家如何在 WPF 里面设置图片的 EXIF 信息,包括如何设置图片的旋转信息,以及如何读取 EXIF 的内容 值得一提的是在 WPF 里面,默认的图片渲染信息是无视 System.Phot ...

  7. WPF 对接 Vortice 调用 WIC 加载图片

    本文将告诉大家如何通过 Vortice 库从底层的方式使用 WIC 层加载本地图片文件,解码为 IWICBitmap 图片,然后将 IWICBitmap 图片交给 WPF 进行渲染 本文的前置博客:W ...

  8. ansible系列(35)--ansible实战之部署WEB集群架构(5)

    目录 1. 整体测试 1.1 运行playbook 1.2 出口路由器防火墙规则设置 1.3 访问测试 1. 整体测试 1.1 运行playbook playbook的整体运行过程如下(因为之前都运行 ...

  9. Base64 java图片工具类

    import org.springframework.util.Assert; import javax.imageio.ImageIO; import java.awt.image.Buffered ...

  10. 使用Redis实现短信登陆

    使用Redis实现发送验证码:验证码登陆.注册:登陆校验拦截.登陆状态刷新等一系列问题. 验证码发送和验证登陆注册 思路流程 整体的思路以及流程如题: 代码实现 实体类 User实体类 @Data @ ...