MVC EF 增 删 改 查
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
//
using System.Data;
using System.Data.SqlClient;
using System.Data.OracleClient;
using Mvc01.Models;
namespace Mvc01.Common
{
public class PubMethod
{
public void AddTest()
{
//0.设置Model1.edms视图中,主键ID为 Identity (同一时刻加入)
//Entities5 db = new Entities5();
//一、单表
//1.添加
//USER1 u1 = new USER1();
//u1.UNAME1 = "12345";
//db.USER1.Add(u1);
//2修改 (需要指定主键)
//2.1先查询再更新
//USER1 u1 = db.USER1.Where(p => p.UID1 == 90).FirstOrDefault();
//if (u1 != null)
//{
// u1.UNAME1 = "User0000";
//}
//2.2不用查询 直接更新
////3.删除
//USER1 u1 = new USER1();
//u1.UID1 = 90;
//db.Entry(u1).State = EntityState.Deleted;
//4.查询
//IQueryable<USER1> uAll = db.USER1.Select(p => p);
//USER1 u2= db.USER1.Where(p => p.UID1 == 90).FirstOrDefault();
////贪婪加载
//STUDENT stu2 = db.STUDENT.Where(p => p.STUID == 42&&p.NUM>5&&p.USER1.Any(b =>b.UDATE>new DateTime(2014,03,01))).FirstOrDefault();
////遍历
//List<STUDENT> stuList = db.STUDENT.Include("STUDENT").ToList();
//foreach (var item in stuList)
//{
//}
//二、多表
//1.增
////1.1多级添加
//TEACHER te = new TEACHER();
//te.TNAME = "teacher11";
//STUDENT stu = new STUDENT();
//stu.STUNAME = "stu11";
//USER1 user = new USER1();
//user.UNAME1 = "user011";
////父子关系
//te.STUDENT.Add(stu);
////子孙关系
//stu.USER1.Add(user);
////添加操作
//db.TEACHER.Add(te);
////1.2查找后 增 删 改
//1.2.1更新子表
//STUDENT stu = db.STUDENT.Where(p => p.STUID == 42).FirstOrDefault();
//stu.SNAME2 = "aa";
//USER1 u1= stu.USER1.Where(p => p.UID1 == 85).FirstOrDefault();
//if (u1 != null)
//{
// //u1.UNAME1 = "我们1";
//}
//1.2.2添加子表
//STUDENT stu = db.STUDENT.Where(p => p.STUID == 42).FirstOrDefault();
//stu.SNAME2 = "aa";
//USER1 u2 = new USER1();
//u2.UNAME1 = "Add01";
//stu.USER1.Add(u2);
////1.2.3删除子表
//STUDENT stu = db.STUDENT.Where(p => p.STUID == 42).FirstOrDefault();
////遍历主表中的子表,符合条件的子表删除
//USER1 u1 = new USER1();
//u1.UID1 = 91;
//db.Entry(u1).State = EntityState.Deleted;
//级联删除
//1.设置数据库中Cascade:级联删除
//STUDENT stu1 = new STUDENT();
//stu1.STUID = 42;
//db.Entry(stu1).State = EntityState.Deleted;
//批量添加
//批量修改
//批量删除===
//List<USER1> userList = db.USER1.Where(p => p.SID == 52).ToList();
//foreach (USER1 item in userList)
//{
// db.Entry(item).State = EntityState.Deleted;
//}
//子表多对象的操作
//STUDENT stu = db.STUDENT.Where(p => p.STUID == 43).FirstOrDefault();
//foreach (var user in stu.USER1)
//{
// if(user.UID1==40)
// {
// db.Entry(user).State = EntityState.Deleted;
// }
// if(user.UID1==41)
// {
// user.UNAME1 = "dddd";
// }
//}
//USER1 us1 = new USER1();
//us1.UNAME1 = "eee";
//stu.USER1.Add(us1);
Entities5 db = new Entities5();
USER1 u1 = new USER1();
u1.UID1 = 90; //指定主键
u1.UNAME1 = "aaaa";
//设置都不更新
db.Entry(u1).State = EntityState.Unchanged;
//单独设置属性
db.Entry(u1).Property("UNAME1").IsModified = true;
db.SaveChanges();
}
}
}
MVC EF 增 删 改 查的更多相关文章
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- iOS sqlite3 的基本使用(增 删 改 查)
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
- django ajax增 删 改 查
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
- python基础中的四大天王-增-删-改-查
列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...
- 简单的php数据库操作类代码(增,删,改,查)
这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...
- MongoDB增 删 改 查
增 增加单篇文档 > db.stu.insert({sn:'001', name:'lisi'}) WriteResult({ "nInserted" : 1 }) > ...
- Go语言之进阶篇mysql增 删 改 查
一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...
随机推荐
- hdu 2055 An easy problem (java)
问题: 開始尝试用字符做数组元素.可是并没实用. 在推断语句时把a z排出了. An easy problem Time Limit: 1000/1000 MS (Java/Others) Me ...
- 第二十次codeforces竞技结束 #276 Div 2
真是状况百出的一次CF啊-- 终于还Unrated了,你让半夜打cf 的我们怎样释怀(中途茫茫多的人都退场了)--虽说打得也不好-- 在这里写一下这一场codeforces的解题报告.A-E的 题目及 ...
- C语言编写的bmp读写程序
C语言编写的bmp读写程序 建议先把bmp的数据存储格式了解下 <span style="font-size:16px;">#include "Windows ...
- TopCoder SRM 625 Incrementing Sequence 题解
本题就是给出一个数k和一个数组,包含N个元素,通过每次添加�数组中的一个数的操作,最后须要得到1 - N的一个序列,不用排序. 能够从暴力法入手,然后优化. 这里利用hash表进行优化,终于得到时间效 ...
- 使用MYCAT作为Mysql HA的中间件(转)
记得在上一篇文章“Java集群--大型网站是怎样解决多用户高并发访问的”的结尾处本人阐述了数据库的高可用的一种方案----实现主从部署,那么今天,就让我聊聊本人关于数据库的一些所思所想吧! 下面是本人 ...
- Little Sympathy for Bear Stearns : NPR
Little Sympathy for Bear Stearns : NPR Little Sympathy for Bear Stearns
- ios多线程操作(五)—— GCD串行队列与并发队列
GCD的队列能够分为2大类型,分别为串行队列和并发队列 串行队列(Serial Dispatch Queue): 一次仅仅调度一个任务,队列中的任务一个接着一个地运行( ...
- JQuery开发工具和插件
最近的研究jquery.为大家介绍几款开发工具.能够帮助你提高开发的效率. 1.Dreamweaver Dreamweaver是建立在WEB站点和应用程序的专业工具. 将可视化工具.应用程序开发功能和 ...
- 使用jquery+一般处理程序异步载入信息
需求:有时候.web界面对性能要求比較高.我们就不考虑使用asp.net控件.而是使用html标签+jquery+一般处理程序来进行异步处理. watermark/2/text/aHR0cDovL2J ...
- 利用try-catch判断变量是已声明未声明还是未赋值
原文 利用try-catch判断变量是已声明未声明还是未赋值 这篇文章主要介绍了利用try-catch判断变量是已声明未赋值还是未声明,需要的朋友可以参考下 目的是如果一个变量是已声明未赋值,就可以直 ...