使用EF 4.1的DbContext
简述:EF4.1包括Code First和DbContext API。DbContext API为EF提供更多的工作方式:Code First,Database First和Model First。 使用DbContext构造函数 1. Code First约定连接 namespace Magic.Unicorn { public class UnicornsContext : DbContext { public UnicornsContext() // C# will call base class parameterless constructor by default { } } } 用Magic.Unicorn.UnicornsContext作为数据库名,在本机上生成该数据库的连接字符串(SQL Express)。
2. Code First指定数据库名称的约定连接 public class UnicornsContext : DbContext { public UnicornsContext() : base("UnicornsDatabase") { } }
3)通过主键查找实体 var unicorn=context.Unicorns.Find(3);//查询数据库
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();
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‘");
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。