码迷,mamicode.com
首页 > 数据库 > 详细

使用EF 4.1的DbContext

时间:2014-09-09 15:57:49      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:blog   io   使用   ar   数据   div   cti   sp   log   

简述: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‘");

 

使用EF 4.1的DbContext

标签:blog   io   使用   ar   数据   div   cti   sp   log   

原文地址:http://www.cnblogs.com/sdya/p/3962639.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!