【.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 ...
随机推荐
- leetcode [64] merge tow sorted lists
之前忘记记录这题了,现在补上. 合并两个有序的list,要求是: Merge two sorted linked lists and return it as a new list. The new ...
- 编写SQL的辅助工具
原文:编写SQL的辅助工具 今天在同事的帮助下,下载了一个工具:ApexSQL edit,可能是我孤陋寡闻,不知道还有这样的好工具,它可以在我键入SQL时,帮助我提示表的名称和列名称.还可以帮助我格式 ...
- Oracle wrap 和 unwrap( 加密与解密) 说明
一. Wrap 说明 官网的说明如下: A PL/SQL Source Text Wrapping http://download.oracle.com/docs/cd/E11882_01/appde ...
- Toast,AlertDialog的误解
在一般的软件开发中,子线程中是不能更改UI主线程中创建的UI控件的.之前的理解是Toast也不能在子线程中创建.事实上并不是这样子的. @Override protected void onCreat ...
- C# 学习笔记1 .NET平台,C#的重要概念
.NET平台构成的三个关键实体是: 1.CLR(公共语言运行库):为我们定位,加载,管理.NET类型,同时负责一些底层细节的工作,如内存管理,应用托管,处理线程,安全检查等,它包含了一个重要名为msc ...
- asp.net mvc4 运用 paypal sdk实现支付
1.https://developer.paypal.com/ 注册账号,并且申请一个app,获得 client id,secret等数据 2.点击页面中"Sandbox Account ...
- [转]从命令行往 iOS 设备上安装程序
link:http://www.stewgleadow.com/blog/2011/11/05/installing-ios-apps-on-the-device-from-the-command-l ...
- 【C#基础知识】静态构造函数,来源于一道面试题的理解
看到园友的一道面试题,很好奇,测试了一下结果. public class A { public static int X=B.Y ; public A() { ++X; } } public clas ...
- 迟到的 WPF 学习 —— 入门
之所以说"迟到的",是因为我太晚才开始学习 WPF 了,之前 WPF 刚发布的时候有过粗浅了解,那时的 WPF 还非常简陋,VS 提供的内置控件十分匮乏,让我这样的非常依赖 Win ...
- c语言,string库函数strstr实现
说明: 原型:char *strstr(char *haystack, char *needle); 用法:#include <string.h> 功能:从字符串haystack中寻找ne ...