Entity Framework系列之Code First

第一步:安装Entity Framework6.0

使用管理NuGet程序包界面安装EntityFramework

第二步:新建实体类

using System.ComponentModel.DataAnnotations;

namespace EFDemo4
{
    public class User
    {
        [Key]
        public int Id { get; set; }
        public string Name { get; set; }
    }
}

第三步:新建实体上下文类

using System.Data.Entity;

namespace EFDemo4
{
    public class TestDBContext: DbContext
    {
        public TestDBContext()
            : base("name=TestDB3")
        {

        }
        public DbSet<User> Users { get; set; }
    }
}

App.config文件中的数据库连接字符串

<connectionStrings>
    <add name="TestDB3" providerName="System.Data.SqlClient" connectionString="Data Source=.\CMDB;Initial Catalog=TestDB3;Integrated Security=SSPI;" />
  </connectionStrings>

第四步:增删改查

在执行数据库操作之后,数据库对象会自动创建

using System;
using System.Data.Entity;
using System.Linq;
using System.Windows.Forms;

namespace EFDemo4
{
    public partial class Form1 : Form
    {
        TestDBContext entity = new TestDBContext();
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 新增
        /// </summary>
        private void Add()
        {
            User model = new User()
            {
                Name = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")
            };
            entity.Users.Add(model);
            entity.SaveChanges();
            Query();
        }

        /// <summary>
        /// 删除
        /// </summary>
        private void Delete()
        {
            if (listBox1.SelectedItem == null)
            {
                return;
            }
            int id = Convert.ToInt32(listBox1.SelectedItem.ToString().Split(‘-‘)[0]);
            User model = entity.Users.Where(a => a.Id == id).FirstOrDefault();
            if (model != null)
            {
                entity.Entry(model).State = EntityState.Deleted;
                entity.SaveChanges();
                Query();
            }
        }

        /// <summary>
        /// 修改
        /// </summary>
        private void Edit()
        {
            if (listBox1.SelectedItem == null)
            {
                return;
            }
            int id = Convert.ToInt32(listBox1.SelectedItem.ToString().Split(‘-‘)[0]);
            User model = entity.Users.Where(a => a.Id == id).FirstOrDefault();
            if (model != null)
            {
                model.Name = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
                entity.Entry(model).State = EntityState.Modified;
                entity.SaveChanges();
                Query();
            }
        }

        /// <summary>
        /// 查询
        /// </summary>
        private void Query()
        {
            listBox1.Items.Clear();
            var expr = from p in entity.Users select p;
            foreach (var item in expr)
            {
                listBox1.Items.Add(string.Format("{0}-{1}", item.Id, item.Name));
            }
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            Add();
        }

        private void toolStripButton4_Click(object sender, EventArgs e)
        {
            Edit();
        }

        private void toolStripButton3_Click(object sender, EventArgs e)
        {
            Delete();
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            Query();
        }
    }
}
时间: 2024-11-19 19:06:58

Entity Framework系列之Code First的相关文章

Entity Framework工具POCO Code First Generator的使用

在使用Entity Framework过程中,有时需要借助工具生成Code First的代码,而Entity Framework Reverse POCO Code First Generator是一款不错的工具 在Visual Studio中,通过"工具"→"扩展和更新..."来安装Entity Framework Reverse POCO Code First Generator 这里添加一个控制台项目,并在项目中添加POCO Code First Genera

Entity Framework工具POCO Code First Generator的使用(参考链接:https://github.com/sjh37/EntityFramework-Reverse-POCO-Code-First-Generator)

在使用Entity Framework过程中,有时需要借助工具生成Code First的代码,而Entity Framework Reverse POCO Code First Generator是一款不错的工具 在Visual Studio中,通过"工具"→"扩展和更新..."来安装Entity Framework Reverse POCO Code First Generator 这里添加一个控制台项目,并在项目中添加POCO Code First Genera

Entity Framework 5.0 Code First全面学习

目录(?)[+] 不贴图片了,太累. Code First 约定 借助 CodeFirst,可通过使用 C# 或Visual Basic .NET 类来描述模型.模型的基本形状可通过约定来检测.约定是规则集,用于在使用 Code First 时基于类定义自动配置概念模型.约定是在 System.Data.Entity.ModelConfiguration.Conventions 命名空间中定义的. 可通过使用数据注释或Fluent API 进一步配置模型.优先级是通过 Fluent API 进行

Entity Framework 5.0 Code First全面学习 (转)

原文地址:感谢原文作者 http://blog.csdn.net/gentle_wolf/article/details/14004345 不贴图片了,太累. Code First 约定 借助 CodeFirst,可通过使用 C# 或Visual Basic .NET 类来描述模型.模型的基本形状可通过约定来检测.约定是规则集,用于在使用 Code First 时基于类定义自动配置概念模型.约定是在 System.Data.Entity.ModelConfiguration.Convention

Entity Framework系列教程汇总

阅读目录 一.EntityFramewoke入门教程系列 二.EF CodeFirst系列 翻译自http://www.entityframeworktutorial.net/,使用EF几年时间了,一直没有系统总结过,所以翻译这一系统文章作为总结,由于英语功底有限,翻译的可能有些问题,欢迎指正. 回到顶部 一.EntityFramewoke入门教程系列 Entity Framework入门教程(1)---Entity Framework简介 Entity Framework入门教程(2)---E

MVC5 Entity Framework学习之Code First迁移和部署

到目前为止,应用程序一直在本地IIS Express 上运行.为了让其他人能够通过互联网访问你的应用程序,你需要将它部署到WEB服务器. 本文章包含以下内容: 启用Code First迁移,迁移功能能够让你不必重建数据库就可以更改数据模型并将其部署到生产环境. 将应用程序部署到Windows Azure(可选) 1.启用Code First迁移 当你在开发应用程序时,你会对数据模型进行频繁的更改,随着每一次的更改,数据模型与数据库架构将不再一致.你已经对Entity Framework进行了配置

Entity Framework应用:Code First模式数据迁移的基本用法

使用Entity Framework的Code First模式在进行数据迁移的时候会遇到一些问题,熟记一些常用的命令很重要,下面整理出了数据迁移时常用的一些命令. 一.模型设计 EF默认使用id字段作为主键,如果没有,则需要指定主键. 二.数据迁移基本命令和常用参数 1.安装Entity Framework a.使用命令安装:visual studio工具栏->工具->NuGet 程序包管理器->程序包管理器控制台 输入命令:Install-Package EntityFramework

Entity Framework 4.1 - Code First 指定外键名称

Entity Framework 4.1 中,生成外键的方式有以下几种: 1-指定导航属性,会自动生成外键,命名规则为:“表名_主键名”2-默认情况下与导航属性的主键名称相同的字段会自动被标记为外键,3-通过[ForeignKey]标记指定实体类的属性为外键,4-方式2的升级版,与导航属性的主键名称相同的字段会自动被标记为外键,然后指定字段对应的数据库中的列名 方式3.4可指定生成的数据库中的列名. public class User { public int UserID { get; set

ORM系列之二:Entity Framework(2)Code First

目录 1. Code First是什么? 2. Code First 简单示例 3. 数据存储 4. 迁移 Code First是什么 Code First 顾名思义就是先写代码,当然不是乱写,而是安装一定的约定,先创建实体类,再通过编辑器自动生成数据模型.Code First是EF的三大模式之一,主要使用新的系统开发,对应数据库已存在的情况下不适合. Code First 简单示例 下面通过一个简单的示例,让我们来熟悉一下Code First模式. 第一步:创建一个控制台程序,命名为“EF.C