【.NET-EF】Entity Framework学习笔记2 - 增删改(没查询)
学习描述:用EF就像是省略了做实体类和DAL类,感觉是很方便,废话不多说,直接写步骤:
这个其实在笔记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
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,4句话就把增删改功能写出来了。
- 基本使用SaveChanges()才会保存操作。
- 辅助工具观察生成的SQL语句,之前说过,EF是基于ADO.NET对SQL语句操作,所以可以用SQL自带的SQL Server Profiler(在开始 - Microsoft sql server 2005 - 性能工具里),在网上也查到有其他工具可以使用,这个以后在说。
- 好像EF5.0之前版本的方法有所不同,不知道自己是什么版本的,可以查看项目里的packages.config(生成时会有的)
【.NET-EF】Entity Framework学习笔记2 - 增删改(没查询)的更多相关文章
- Entity Framework学习笔记
原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总 之前的小项目做完了,到了总结经验和 ...
- ADO.NET Entity Framework学习笔记(3)ObjectContext
ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转] 说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...
- Entity Framework 学习笔记(2)
上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// ...
- Entity Framework学习笔记——配置EF
初次使用Entity Framework(以下简称EF),为了避免很快忘记,决定开日志记录学习过程和遇到的问题.因为项目比较小,只会用到EF的一些基本功能,因此先在此处制定一个学习目标:1. 配置EF ...
- Entity Framework学习笔记(三)----CRUD(2)
请注明转载地址:http://www.cnblogs.com/arhat 昨天晚上老魏配的机器终于到了,可是拿回来之后什么都组装好了,唯独差一个非常重要的组件"电源线",老魏那个汗 ...
- Entity Framework学习笔记——错误汇总
之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...
- Entity Framework学习笔记——记一个错误解决方式及思路
继续之前设定的学习目标前,先来一篇小小的外篇.按照第一篇里的配置方式配置好的工程前两天还能正常工作,昨天却突然无法通过Add-Migration命令进行数据库的升级.错误信息如下: System.Da ...
- Entity Framework学习笔记(二)----CRUD(1)
请注明转载地址:http://www.cnblogs.com/arhat 这篇文章老魏和大家分享一下Entity Framework的CRUD操作,在这之前呢,老魏先说一下老魏对EF的一个整体的认识, ...
- Entity Framework学习笔记(一)
请注明转载地址:http://www.cnblogs.com/arhat 哈哈!老魏回来了,4月份的内容开始更新了,由于3月份时间都在做项目,没有时间写了,那么4月份老魏会尽可能的多写点东西的.那么4 ...
随机推荐
- CruiseControl.Net全面实现持续集成
使用CruiseControl.Net全面实现持续集成 持续集成想必大家很多人都听说过,甚至都实践过,最近我又一次亲历了一次持续集成,现将我的经验分享给大家.关于持续集成的理论在本文概不涉及,本文 ...
- shell删除指定时间之前的文件
cat delbak.sh 1 #!/bin/sh 2 location="/root/sqlbak/" 3 find $location -mtime +30 -type f | ...
- JSON之FastJson
FastJson是什么? 从网上查到--- 官网地址:http://code.alibabatech.com/wiki/display/FastJSON/Overview(已关闭) FastJSOn是 ...
- Bootstrap 图像
一般的样式 在我们讨论 Bootstrap 3 提供的定义图像样式的特殊的 class 之前,我们将看到 Bootstrap 3 提供的定义图像的一般的样式. img { border: 0; } 这 ...
- [翻译]HBase 中的 ACID
同前面翻译的一篇关联的,同作者的另一篇:ACID in HBase 这一篇不是单纯地描述一个问题,而是以 ACID 为主题,介绍了其在 HBase 中各个部分的体现及实现. ACID,即:原子性(At ...
- [置顶] c# 验证码生成
今儿有一个任务是输出一串字符,要求用GDI画出于是: Bitmap bm = new Bitmap(200, 200); Graphics g = Graphics.FromI ...
- 优秀Python学习资源
优秀Python学习资源收集汇总(强烈推荐) Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮 ...
- Pi
Math]Pi 数学知识忘地太快,在博客记录一下pi的生成. 100 Decimal places 3.1415926535897932384626433832795028841971693993 ...
- Effective C++ 读书总结
(中文第三版 侯捷 译) 这本书在C++领域也是大名鼎鼎,在微博看到有人说,如果以前学过C语言,那只需花一天时间把 Effective C++ 看一遍,然后再看 leveldb代码(http://t. ...
- Mac 下卸载 Graphviz
打算安装这个程序,但是听说这个软件在 Mac 上有问题,所以先记录下卸载方法. 方法一: 双击 pkg 文件后,当看到安装器界面时: 按 Command + i 打开安装包的信息窗口: 展开后可以看到 ...