.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’");
最新文章
- 吐槽CodeDom
- block的常见用法
- zookeeper是什么?原理是什么?【转】
- 使用jigdo下载debian [windows环境下]
- Python Mysql 篇
- 【网络编程】——connect函数遇见EINTR的处理
- ArcGIS的许可文件问题
- 《Hadoop基础教程》之初识Hadoop
- 使用GCD
- flex 4 写皮肤
- WordPress插件制作教程(七): 插件函数之过滤器(Filter)函数
- Linux解决xhost: unable to open display
- VMware workstation 10.0的永久key
- IOS开发-UI学习-UIWebView,简单浏览器的制作
- 《 iPhone X ARKit Face Tracking 》
- Linux中普通用户配置sudo权限(带密或免密)
- LeetCode(37): 每k个一组翻转链表
- cxf动态调用外部web service 报告异常java.lang.NoSuchFieldErr
- swiper一组图片,点击图片出现中间,看效果
- Debian 给非 ROOT 用户添加 sudoer 权限