首页 咨询中心 IT学堂
.net mvc数据库操作添加数据的几中方法
5. Defining sets on a derived context  

1) DbSet属性:指定集合为Entity类型  

2) IDbSet属性  

3) 只读set属性  

public IDbSet<Unicorn> Unicorns{get{return Set<Unicorn>();}  

6. 利用主键查找实体 
   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");  

7. 实体状态和保存 
   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();  

8.  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’");  
上一篇 MVC 模型绑定介绍
上一篇 Linq中First.FirstOrDefault.Last.LastOrDefault等方法用法
本方链接: http://www.web258.cn/article/show/i1349.html
ARTICLE 相关推荐