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 增 删 改 查的更多相关文章

  1. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  2. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  3. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  4. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  5. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  6. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  7. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

  8. MongoDB增 删 改 查

    增 增加单篇文档 > db.stu.insert({sn:'001', name:'lisi'}) WriteResult({ "nInserted" : 1 }) > ...

  9. Go语言之进阶篇mysql增 删 改 查

    一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...

随机推荐

  1. Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布

    首先是准备工作,去QT主页下载独立的QT类库安装包以及完整QT SDK安装包,还有QT Creator for windows 版 下载地址:http://qt.nokia.com/downloads ...

  2. Linux查看硬盘使用时间等信息

    查看硬盘信息的很多命令,都需要root权限,如果普通用户无法看到信息,请切换至root: 1.查看硬盘使用时间等信息 硬盘使用时间很重要,硬盘理论寿命是3万小时以上 $ sudo smartctl - ...

  3. OCA读书笔记(15) - 执行数据库备份

    物理备份 -- 数据文件,控制文件,日志文件,参数文件 数据库备份 冷备 -- 归档和非归档均可以 什么时候必须用冷备?1. 数据库的模式为非归档的2. 用于现场保护 冷备的过程:1. 首先查看备份文 ...

  4. haskell,lisp,erlang你们更喜欢哪个?

    haskell,lisp,erlang你们更喜欢哪个? haskell,lisp,erlang你们更喜欢哪个?

  5. 从零开始学C++之继承(一):公有/私有/保护继承、overload/overwrite/override之间的区别

    一.继承 C++很重要的一个特征就是代码重用.在C语言中重用代码的方式就是拷贝代码.修改代码.C++可以用继承或组合的方式来重用.通过组合或继承现有的的类来创建新类,而不是重新创建它们. 继承是使用已 ...

  6. mac和windows系统下 eclipse svn 设置代理服务器

    公司svn服务器在海外,有时候迫不得已svn也得设置代理 网上查了好长时间都只有windows下如何设置,mac系统下的教程很少. 1.在windows下设置方法如下 找到C:\Documentsan ...

  7. 用xml建立仓库的逻辑层的操作

    package com.repositoryclient.xml; import java.io.FileNotFoundException; import java.io.FileOutputStr ...

  8. 命令行參数选项处理:getopt()及getopt_long()函数使用

         在执行某个程序的时候,我们通常使用命令行參数来进行配置其行为.命令行选项和參数控制 UNIX 程序,告知它们怎样动作. 当 gcc的程序启动代码调用我们的入口函数 main(int argc ...

  9. 【Unity Shaders】使用CgInclude让你的Shader模块化——Unity内置的CgInclude文件

    本系列主要參考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同一时候会加上一点个人理解或拓展. 这里是本书全部的插图. 这里是本书所需的代码 ...

  10. HDU 4380 Farmer Greedy 计算几何+bitset

    枚举直线,对于直线的某个点在直线的左端还是右端,能够状压出一个数.用bitset记录. 然后三角形就是3个bitset&一下 #include <cstdio> #include ...