二、MVC3+EF单表增删改查
document 表为例 写入静态类 NorthwindDataProvider:
Controller可直接调用:如
//获取document表全部数据
NorthwindDataProvider.GetDocuments()
document 类:EF 映射
public static class NorthwindDataProvider
{
const string NorthwindDataContextKey = "DXNorthwindDataContext"; public static NWindEntities DB
{
get
{
if (HttpContext.Current.Items[NorthwindDataContextKey] == null)
HttpContext.Current.Items[NorthwindDataContextKey] = new NWindEntities();
return (NWindEntities)HttpContext.Current.Items[NorthwindDataContextKey];
}
}
/// <summary>
/// 查询所有document表数据
/// </summary>
/// <returns></returns>
public static IEnumerable GetDocuments()
{
return from document in DB.Documents select document;
}
/// <summary>
/// 增加一条document数据
/// </summary>
/// <param name="doc">传入新数据</param>
public static void AddDocument(Document doc)
{
DB.Documents.AddObject(doc);
DB.SaveChanges();
}
/// <summary>
/// 根据ID查询document数据
/// </summary>
/// <param name="id">传入主键</param>
/// <returns></returns>
public static Document GetDocumentById(int id)
{
var val = from document in DB.Documents where document.DocumentId == id select document;
return val.First();
}
/// <summary>
/// 修改一条document数据
/// </summary>
/// <param name="doc">传入修改后的数据</param>
public static void UpdateDocument(Document doc)
{
Document oldDoc = DB.Documents.First(p => p.DocumentId == doc.DocumentId);
oldDoc.DocumentCode = doc.DocumentCode == null ? oldDoc.DocumentCode : doc.DocumentCode;
oldDoc.DocumentName = doc.DocumentName == null ? oldDoc.DocumentName : doc.DocumentName;
oldDoc.DocumentMemo = doc.DocumentMemo == null ? oldDoc.DocumentMemo : doc.DocumentMemo;
oldDoc.DocumentType = doc.DocumentType == null ? oldDoc.DocumentType : doc.DocumentType;
oldDoc.DocumentDate = doc.DocumentDate == null ? oldDoc.DocumentDate : doc.DocumentDate;
DB.SaveChanges();
}
/// <summary>
/// 删除一条document数据
/// </summary>
/// <param name="id">被删除数据的主键</param>
public static void deleteDocument(int id)
{
var obj = DB.Documents.Where(c => c.DocumentId == id).First();
DB.DeleteObject(obj);
DB.SaveChanges();
}
}
二、MVC3+EF单表增删改查的更多相关文章
- Django框架(八)--单表增删改查,在Python脚本中调用Django环境
一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的setting中进行配置: 将DATABASES={} 更新为 DA ...
- Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境
目录 单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 二.orm创建表和字段 三.单表增删改查 1.增加数据 2.删除数据 3.修改数据 4.查询数据 四.在Python脚 ...
- mysql数据库单表增删改查命令
数据库DB-database-mysql 课程安排 第一天: 1.数据库定义以及设计 2.mysql服务端的安装 3.mysql-dos操作 库的操作 表的操作 4.mysql客户端navicate工 ...
- $Django orm增删改字段、建表 ,单表增删改查,Django请求生命周期
1 orm介绍 ORM是什么 ORM 是 python编程语言后端web框架 Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM. 一 ...
- Django ORM基本的单表增删改查
创建表 步骤: 1.app下models.py里创建类(继承models.Model) from django.db import models class UserInfo(models.Model ...
- ORM之单表增删改查
ORM之单表增删改查 在函数前,先导入要操作的数据库表模块,model from model所在的路径文件夹 import model 在views文件中,加的路径: #就一个app01功能的文件 ...
- MySQL初步理解,简易单表增删改查
什么是数据库? 存储数据的仓库,本质是一个文件系统,封装了算法和文件之前数据的存储模式 阶段1:集合 数组 变量 缺点:数据存储在内存中,不能实现数据的持久化存储 阶段2:IO流 结合文件 .txt ...
- django(七)之数据库表的单表-增删改查QuerySet,双下划线
https://www.cnblogs.com/haiyan123/p/7738435.html https://www.cnblogs.com/yuanchenqi/articles/6083427 ...
- Django ORM字段类型 单表增删改查 万能的双下划线
1.ORM三种模型 模型之间的三种关系:一对一,一对多,多对多. 一对一:实质就是在主外键(author_id就是foreign key)的关系基础上,给外键加了一个UNIQUE=True的属性: 一 ...
随机推荐
- SpringBoot+MyBatis+MySQL读写分离(实例)
1. 引言 读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做.因此,一般来讲,读写分离有两种实现方式.第一种是 ...
- 洛谷P2566 [SCOI2009]围豆豆(状压dp+计算几何)
题面 传送门 题解 首先要解决一个问题,就是怎么判断一个点是否在多边形内部 从这个点向某一个方向做一条射线,如果这条射线和多边形的交点为奇数说明在多边形内,否则在多边形外 然而有一些特殊情况,比方说一 ...
- selenium+PhantomJS简单爬虫
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' Created on 2017年10月19日 @author: zzy ''' import tim ...
- 为什么有些网站PING不通但又能访问.
一PING它,出现request timed out,发关4个送数据包,返回0个.丢失率100%,明明不通但为什么又能够访问? 应该是该网站禁用了ICMP回应或者开启了ICMP过滤.如果设置了ICMP ...
- adminlte+layui框架搭建3 - layui弹出层
在amdinlte首页引入layui.js 和layui.css后添加代码 <script> layui.use(['layer'], function () { var layer = ...
- String Reduction问题分析
问题描述: Given a string consisting of a,b and c's, we can perform the following operation: Take any two ...
- 004 Android XML文件常用五大页面布局方式
1.线性布局(LinearLayout)最常用 <1>使用线性布局,首先在xml文件中修改布局为LinearLayout 修改完成后,可在Component Tree中看见如下内容: &l ...
- pscp 命令---windows和linux之间互相拷贝文件的工具
pscp -r d:\cc root@10.0.0.8:/root/test copy d:\cc content recursively into the /root/test, contains ...
- UVA - 11922 区间反转+拼接 可持久化Treap
题意:一开始给出一个序列\(1,2...n\),然后\(m\)次操作,每次把\([l,r]\)翻转并且拼接到序列的后面,求最后形成的序列 打个pushdown标记就好 #include<iost ...
- [转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法
[From] https://www.zmrbk.com/post-2030.html https://blog.csdn.net/suifengshiyu/article/details/40952 ...