.net mvc数据库操作添加数据的几中方法
1. Defining sets on a derived context
1) DbSet属性:指定集合为Entity类型
2) IDbSet属性
3) 只读set属性
public IDbSet<Unicorn> Unicorns{get{return Set<Unicorn>();}
2. 利用主键查找实体
DbSet的Find方法,如果用主键在上下文中查找不到实体,就会到数据库中查询。
1)通过主键查找实体
var unicorn=context.Unicorns.Find(3);//查询数据库
var unicornAgain=context.Unicorns.Find(3);//从当前上下文中返回相同的实例(没有查询数据库)
2) 通过主键和外键查找实体
var lady = context.LadiesInWaiting.Find(3, "The EF Castle");
3. 实体状态和保存
EntityState:Added、Unchanged、Modified、Deleted和Detached
1) 插入一个新的实体到上下文
当调用SaveChanges()才能插入到数据库中。
var unicorn = new Unicorn { Name = "Franky", PrincessId = 1};
context.Unicorns.Add(unicorn);//添加到上下文中
context.SaveChanges();//插入到数据库中
另一种插入方法:
var unicorn = new Unicorn { Name = "Franky", PrincessId = 1};
context.Entry(unicorn).State = EntityState.Added;
context.SaveChanges();
在当前实体的关联实体中添加新的对象:
// Add a new princess by setting a reference from a tracked unicorn
var unicorn = context.Unicorns.Find(1);
unicorn.Princess = new Princess { Name = "Belle" };
// Add a new unicorn by adding to the collection of a tracked princess
var princess = context.Princesses.Find(2);
princess.Unicorns.Add(new Unicorn { Name = "Franky" });
context.SaveChanges();
4. DbContext中的T-SQL查询
1) SQL语句查询实体
var unicorns = context.Unicorns.SqlQuery(
"select * from Unicorns").ToList();
2) SQL语句查询非实体类型
var unicornNames = context.Database.SqlQuery<string>(
"select Name from Unicorns").ToList();
3) 执行SQL命令
context.Database.ExecuteSqlCommand(
"update Unicorns set Name = ’Franky’ where Name = ’Beepy’");
.net mvc数据库操作添加数据的几中方法的更多相关文章
- (转载)MySQl数据库-批量添加数据的两种方法
方法一:使用excel表格 方法二:使用insert语句(FileWriter批量写入) 使用excel表格 1.打开数据表,按照表的字段在excel中添加数据.注意:表中字段名必须和excel中的名 ...
- nhibernate操作sql2008数据库(添加数据失败)
今天遇到一错误困了我一天,如此痛恨,遂记录于此: nhibernate框架+MVC模式搭的项目,添加数据时报错: "could not insert: [KXRMallManage.Mode ...
- ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )
//TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...
- ThinkPHP 数据库操作之数据表模型和基础模型 ( Model )
一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: public function te ...
- mysql学习之通过文件创建数据库以及添加数据
转自:http://blog.163.com/wujicaiguai@126/blog/static/170171558201411311547655/ 1.# 创建数据库语句 create data ...
- JDBC数据库之添加数据
通过JDBC向数据库中添加数据,可以使用INSERT语句实现插入数据SQL语句,对于SQL语句中的参数可以只用占位符"?"代替,然后通过PreparedStatement对其赋值以 ...
- MVC 添加数据的三种方法
1 通过Request接收数据,进行添加 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<d ...
- SqlServer 查看数据库、添加数据文件
一.查看SqlServer实例的数据库列表 1).直接在SSMS(SqlServer Management Studio)管理工具里面 展开实例下面的所有数据库便可查看 2).使用Transact- ...
- MySql数据库操作之数据约束
首先数据库的外键是数据库提供的一种完整性约束.在许多数据库的书上也会介绍到,然而对于外键这个完整性性约束究竟应该在数据库端实现,还是在项目业务端实现很多人有着不同的意见. 个人开发(小型应用).数据库 ...
随机推荐
- ionic入门
ionic安装 Ionic开发是依赖于Nodejs环境的,所以在开发之前我们需要安装好Nodejs.下载安装:http://nodejs.org/安装完成之后打开PowerShell输入命令node ...
- [VMWARE] [CENTOS7] 安装VMware-Tools
安装VM-Tools 先使用yum install 安装Perl与net-tools# sudo yum install net-tools# sudo yum install perl 加载CDRO ...
- 【PAT】B1072 开学寄语(20 分)
代码注释应该很清晰 先存下违禁品,放到数组中,未使用map #include<cstdio> #include<string.h> int wupin[10],N,M; boo ...
- January 18th, 2018 Week 03rd Thursday
To strive, to seek, to find, and not to yield. 去奋斗,去寻觅,去探索,但绝不屈服. Strive for our dreams, seek the ve ...
- IntelliJ IDEA src下新建包, 没有层级结构
新建项目后再src先右键点击新建包 com.example , 然后想在com.example 包中包含其他包, 当点击src新建包后,出现如图的情况 解决: 继续在src上右键新建package ...
- vue.js 防暴力点击方案
import lodash from 'lodash' <input v-on:onclick ="doStuff">methods: { doStuff:loadsh ...
- P1387 最大正方形
2018-08-16 https://www.luogu.org/problemnew/show/P1387 题意: 略. 4 4 0 0 1 1 把这个翻译成dp的形式 0 0 1 1 ...
- (6)sudo命令详解(每周一个linux命令系列)
首先说句抱歉,最近事情比较复杂,停更了一阵子.我又回来啦 多用户管理 我们常用的windows个人系统虽然可以设置多用户,但是实际上是不可以多用户同时登陆的(这个我实验过,我以前用windows服务器 ...
- 邻接表&链式前向星
链式前向星: 适合点多.边少的情况 不适用于大量遍历出边的题目(因为cache miss) 邻接表: 如果用邻接表来实现的话,一般就用vector嘛,我们都知道vector都是自动扩容的,在空间满了以 ...
- 深入浅出的webpack构建工具---PostCss(五)
一:PostCss是什么? PostCss是一个样式处理工具,它通过自定义的插件和工具生态体系来重新定义css.它鼓励开发者使用规范的css原生语法编写代码,然后配置编译器转换需要兼容的浏览器版本, ...