学习描述:用EF就像是省略了做实体类和DAL类,感觉是很方便,废话不多说,直接写步骤:

1.创建EF的edmx文件

这个其实在笔记1已说过,不过有些细节也要说,所以再说一遍,这里使用的是EF 6.1版本的。

建了个商品表,创建文件之前,要有一个数据表,我在本地建个xitong数据库,建了个商品表,如下:

CREATE TABLE [dbo].[xt_product](
[pid] [int] IDENTITY(1,1) NOT NULL,
[code] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[title] [nvarchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[point] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL,
[description] [text] COLLATE Chinese_PRC_CI_AS NULL,
[prise] [money] NULL,
[createTime] [datetime] NULL,
[state] [bit] NULL,
[remark] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL
)

好了,开始建我的edmx文件,我在项目建个文件夹放文件,就叫EntityFramework,再右键 - 添加 - 新建项 - 数据 - ADO.NET实体数据模型(连接数据库步骤省略)

要记得自己写的2个类名

  • 一个是  将Web.config中的连接设置另存为  的名字,这个是用操作数据库的方法的,写成: xtSQL
  • 一个就是你的数据表名,会变成实体类名,而且能在生成的文件.tt里看得到实体类,写成:   xt_productEF
2.增删改代码(已测试可以用,建个页面调用就OK了。)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using xtWeb.EntityFramework; //凡事需要先using namespace xtWeb.Models
{
public class product
{
xtSQL xtsql = new xtSQL();//操作类
/// <summary>
/// 新增(单个)
/// </summary>
/// <param name="ef"></param>
/// <returns></returns>
public bool add(xt_product ef)
{
xtsql.xt_product.Add(ef);
xtsql.SaveChanges();//增删改都需要最后加一句SaveChanges()来保存
return true;
} /// <summary>
/// 修改(单个)
/// </summary>
/// <param name="ef"></param>
/// <returns></returns>
public bool update(xt_product ef)
{
xt_product Old = xtsql.xt_product.FirstOrDefault(p => p.pid == ef.pid);//找到商品
Old.code = ef.code;
Old.title = ef.title;
xtsql.SaveChanges();
return true;
} /// <summary>
/// 删除(单个)
/// </summary>
/// <param name="ef"></param>
/// <returns></returns>
public bool delete(xt_product ef)
{
xt_product Old = xtsql.xt_product.FirstOrDefault(p => p.pid == ef.pid);//找到商品
xtsql.xt_product.Remove(Old); xtsql.SaveChanges();
return true;
}
}
}
3.小结:
  • 是不是很简单,3,4句话就把增删改功能写出来了。
  • 基本使用SaveChanges()才会保存操作。
  • 辅助工具观察生成的SQL语句,之前说过,EF是基于ADO.NET对SQL语句操作,所以可以用SQL自带的SQL Server Profiler(在开始 - Microsoft sql server 2005 - 性能工具里),在网上也查到有其他工具可以使用,这个以后在说。
  • 好像EF5.0之前版本的方法有所不同,不知道自己是什么版本的,可以查看项目里的packages.config(生成时会有的)

【.NET-EF】Entity Framework学习笔记2 - 增删改(没查询)的更多相关文章

  1. Entity Framework学习笔记

    原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总   之前的小项目做完了,到了总结经验和 ...

  2. ADO.NET Entity Framework学习笔记(3)ObjectContext

    ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]   说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...

  3. Entity Framework 学习笔记(2)

    上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// ...

  4. Entity Framework学习笔记——配置EF

    初次使用Entity Framework(以下简称EF),为了避免很快忘记,决定开日志记录学习过程和遇到的问题.因为项目比较小,只会用到EF的一些基本功能,因此先在此处制定一个学习目标:1. 配置EF ...

  5. Entity Framework学习笔记(三)----CRUD(2)

    请注明转载地址:http://www.cnblogs.com/arhat 昨天晚上老魏配的机器终于到了,可是拿回来之后什么都组装好了,唯独差一个非常重要的组件"电源线",老魏那个汗 ...

  6. Entity Framework学习笔记——错误汇总

    之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...

  7. Entity Framework学习笔记——记一个错误解决方式及思路

    继续之前设定的学习目标前,先来一篇小小的外篇.按照第一篇里的配置方式配置好的工程前两天还能正常工作,昨天却突然无法通过Add-Migration命令进行数据库的升级.错误信息如下: System.Da ...

  8. Entity Framework学习笔记(二)----CRUD(1)

    请注明转载地址:http://www.cnblogs.com/arhat 这篇文章老魏和大家分享一下Entity Framework的CRUD操作,在这之前呢,老魏先说一下老魏对EF的一个整体的认识, ...

  9. Entity Framework学习笔记(一)

    请注明转载地址:http://www.cnblogs.com/arhat 哈哈!老魏回来了,4月份的内容开始更新了,由于3月份时间都在做项目,没有时间写了,那么4月份老魏会尽可能的多写点东西的.那么4 ...

随机推荐

  1. 在ubuntu纯字符gdb界面下来开发调试嵌入式ARM

    前面一个帖子介绍了使用eclipse来开发STM32的固件,但有的时候使用Eclipse的GDB调试器会崩溃掉,反复这样造成我们开发的效率降低,信心也会受一打击. 最近接触到的许多源码,就是在linu ...

  2. 对于发Github的contributions贡献不会增加

    最近发现每天在 Github 做代码提交,可是 contributions 的面板(贡献图)上的绿点(即贡献值)却没有增长了.擦~ 有两个礼拜了. 例如以下图并且.同一时候发现曾经的绿点也是稀稀拉拉的 ...

  3. ASP.NET MVC项目里创建一个aspx视图

    先从控制器里添加视图 视图引擎选"ASPX(C#)",使用布局或模板页不要选. 在Views\EAV目录里,生成的aspx是个单独的页面,没有代码文件,所以代码也要写在这个文件里. ...

  4. c#、sql、asp.net、js、ajax、jquery大学知识点笔记

    <table cellSpacing="0" cellPadding="0" width="609" height="470 ...

  5. Toast,AlertDialog的误解

    在一般的软件开发中,子线程中是不能更改UI主线程中创建的UI控件的.之前的理解是Toast也不能在子线程中创建.事实上并不是这样子的. @Override protected void onCreat ...

  6. Scala + Play + Sbt + Protractor

    Scala + Play + Sbt + Protractor = One Build 欢迎关注我的新博客地址:http://cuipengfei.me/ 我所在的项目的技术栈选用的是Play fra ...

  7. 我看TDD测试驱动开发

    今天在实验室给大家介绍了一下TDD和Docker,大家对TDD都比较感兴趣,包括老板,也问了一些问题. 还是从头来说TDD吧,TDD作为敏捷开发领域的领头军,充满魅力,同时也充满争议.一切从三大军规说 ...

  8. avalon1.0正式发布

    2013年最后的收成:avalon1.0正式发布 大半年前我就说过,MVVM是前端究极的解决方案,因此之后我大多数时间都在折腾avalon,成立了专门的QQ群与感兴趣的一起讨论.感谢第一批吃螃蟹的人, ...

  9. iOS基础 - 核心动画

    一.核心动画 l 核心动画基本概念 l 基本动画 l 关键帧动画 l 动画组 l 转场动画 l Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事 ...

  10. SVN 服务端 和 客户端

    网址大全  |  EF CodeFirst  |  电视  |  MyNPOI  |  开源  |  我的皮肤  |  ASP.NET MVC4  |  前端提升  |  LINQ  |  WCF   ...