EF Code-First CRUD操作

网上很多的教程都是跟MVC3绑在一起来讲解的,如果我们抛开MVC3,该如何使用呢?

首先新建一个控制台应用程序,我们把它命名为:EFCodeFirst-Books

第二步,添加EntityFramework的引用。

不要说你还不回使用NuGet,如果真的不会就去问度娘。在NuGet 控制台输入Install-Package EntityFramework,NuGet会为我们引用最新发布的EF版本,目前的版本是4.3。

第三步,添加实体类。

我新建了一个Models文件夹,在里面添加了Book类,类的定义如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace EFCodeFirst_Books.Models
{
    public class Book
    {
        public int BookID { get; set; }
        public string BookName { get; set; }
        public string Author { get; set; }
        public string Publisher { get; set; }
        public decimal Price { get; set; }
        public string Remark { get; set; }
    }
}

因为是测试,我只添加了一个类。

第四步,添加DbContext类。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace EFCodeFirst_Books.Models
{
    public class AppDbContext : DbContext
    {
        public DbSet<Book> Books { get; set; }
    }
}

第五步,检查你的数据库连接

如果你安装了SqlExpress,EF会自动的将连接指向SqlExpress,此处就不需要修改了。

如果你需要改到别的地方,需要修改一下数据库连接:

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="Data Source=.;Initial Catalog=EFCodeFirst_Books;Integrated Security=True" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>

我这里指向的是本机的数据库,采用集成的安全验证。

第六步,开始你的CRUD操作

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using EFCodeFirst_Books.Models;

namespace EFCodeFirst_Books
{
    class Program
    {
        static void Main(string[] args)
        {
            Book book = new Book()
            {
                BookName = "C#高级编程",
                Price = 151.8M,
                Publisher = "清华大学出版社",
                Author = "Wrox",
            };

            AppDbContext dbContext = new AppDbContext();
            dbContext.Books.Add(book);
            dbContext.SaveChanges();

            var booksQuery = from b in dbContext.Books select b;
            List<Book> booksList = booksQuery.ToList();

            book = booksList[0];
            book.Price = 203M;
            dbContext.SaveChanges();

            dbContext.Books.Remove(book);
        }
    }
}

如果认为此文对您有帮助,别忘了支持一下哦!

作者:齐飞

来源:http://youring2.cnblogs.com/

声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

转载:http://www.cnblogs.com/youring2/archive/2012/05/23/2514442.html

时间: 2024-11-02 15:35:57

EF Code-First CRUD操作的相关文章

EF code first 实体类修改、添加、删除操作问题

问题描述 EF code first 实体类修改.添加.删除操作问题 EF code First 怎么来更新已存在的数据库结构? 比如:在实体类中我新添加了一个字段.修改字段名称或者类型.删除一个字段 等操作后我怎么更新到已存在的数据库对于表中去. 担心:我在持续开发中,改变了数据库的结构,如果这时候用户已经用以前的版本创建好数据库并且有了许多数据,假使我的修改只增加了一个表的一个可空列.而为此我只能重新创建数据库.请问有没有别的办法,能够把新的数据库结构在不损伤数据的情况下更新到部署好的环境中

LINQ那些事儿(2)- 简单对象的CRUD操作和Association的级联操作

从(1)我们看到,当生成entity class定义时,entity class或xml mapping文件中都已经完整的包含了entity和关系数据库的映射信息了,LINQ2SQL会根据这些信息来把CRUD操作转化为SQL提交给数据库,并且把数据库的返回DataTable封装成我们想要的对象. 所谓简单对象,就是数据表定义中没有Foreign-key的entity class,在操作这类对象时不会涉及级联的操作. 简单对象的CRUD操作,可参考MSDN:http://msdn.microsof

【ASP.NET Web API教程】2.1 创建支持CRUD操作的Web API

原文 [ASP.NET Web API教程]2.1 创建支持CRUD操作的Web API 2.1 Creating a Web API that Supports CRUD Operations2.1 创建支持CRUD操作的Web API By Mike Wasson | January 28, 2012作者:Mike Wasson | 日期:2012-1-28 本文引自:http://www.asp.net/web-api/overview/creating-web-apis/creating

EF Code First 初体验

原文:EF Code First 初体验 Code First 顾名思义就是先代码,再由代码生成数据库的开发方式. 废话不多说,直接来一发看看:在VS2010里新建一个空白解决方案,再依次添加两个类库项目:Model.DataAccess和一个控制台项目BreakAwayConsole.分别是实体.数据访问.控制台显示. 项目结构图: 详细介绍: 1.实体类Model 本类库下有两个类:Lodging(住宿类).Destination(景点类)Lodging类定义:     /// <summa

Contact Manager Web API 示例[1]CRUD 操作

联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d . 下面的文章以这个示例讲解ASP.NET Web API的各方面知识: 1.CRUD操作: CURD 是 "Create, Read, Update, Delete" (新增.读取.更新.删除) 的

PHP 构建语义Web CRUD 操作

创建.读.更新和删除(Create/Read/Update/Delete,CRUD)操作是最基本的数据库操作,但是它们也是最重要的操作.CRUD 操作通常是使用关系数据库系统中的结构化查询语言(Structured Query Language,SQL)完成的.随着 Web 变得更加具有面向数据特性,因此需要从基于 SQL 的 CRUD 操作转移到基于语义 Web 的 CRUD 操作.了解如何使用 PHP 通过基于语义的 Web 执行 CRUD 操作. 常用缩写词 API - 应用程序编程接口(

自动生成数据对象代码和CRUD操作的C#代码生成器

对象|数据 笔者近期在Vs2005平台和SqlServer2005平台之上研发了一个C#代码生成器,支持数据库表和C#数据对象的直接映射,以及CRUD操作代码的自动生成,用户只需要实现IDAL接口即可,该工具能够显著提高开发速度,让开发人员从繁重的数据库表对象封装编码中解脱出来(工具下载地址:http://itabby.com/index-5.asp),现特将核心处理代码进行发表,仅供参考: ///数据对象提取部分数据库类型和C#对象类型之间的转换过程private string Convert

PHP构建语义Web CRUD操作

创建.读.更新和删除(Create/Read/Update/Delete,CRUD)操作是最基本的数据库操作,但是它们也是最重要的操作.CRUD操作通常是使用关系数据库系统中的结构化查询语言(Structured Query Language,SQL)完成的.随着Web 变得更加具有面向数据特性,因此需要从基于SQL的CRUD操作转移到基于语义 Web的CRUD操作.了解如何使用PHP 通过基于语义的Web 执行 CRUD操作. 常用缩写词 API - 应用程序编程接口(Application

PHP 构建语义 Web CRUD 操作

  创建.读.更新和删除(Create/Read/Update/Delete,CRUD)操作是最基本的数据库操作,但是它们也是最重要的操作.CRUD 操作通常是使用关系数据库系统中的结构化查询语言(Structured Query Language,SQL)完成的.随着 Web 变得更加具有面向数据特性,因此需要从基于 SQL 的 CRUD 操作转移到基于语义 Web 的 CRUD 操作.了解如何使用 PHP 通过基于语义的 Web 执行 CRUD 操作. 常用缩写词 API - 应用程序编程接