DbContext API 的一些关键点

* DbContext API 的一些关键点
                 * 
                 * db.Categories.Find() - 通过传递主键值作为参数查找实体,复合主键就传多个参数
                 * db.Categories.Add() - 把一个新增的实体添加到上下文
                 * db.Categories.Attach() - 把一个已存在的实体添加到上下文
                 * db.Entry(entity).State = System.Data.EntityState.Modified - 修改实体状态
                 * db.Categories.AsNoTracking() - 不被 Context 跟踪,通过 NoTracking 获取的实体,其状态是 Detached 状态。当仅仅是获取数据的时候可以用,有助于提高效率
                 * 属性的相关操作,当属性改变时,会自动监测实体状态,即 IsModified = true
                 *     db.Entry(product).Property(p => p.Name).CurrentValue
                 *     db.Entry(product).Property("Name").CurrentValue
                 * 直接加载(Eager loading)的方法
                 *     db.Categories.Include(p => p.Products.First())
                 *     db.Categories.Include(p => p.Products)
                 *     db.Entry(product).Reference(p => p.Category).Load()
                 * 使用 sql
                 *     db.Categories.SqlQuery("select * from Categories").ToList() // 有实体的情况
                 *     db.Database.SqlQuery<string>("select Name from Categories").ToList(); // 无实体的情况
                 *     db.Database.ExecuteSqlCommand(sql); // 直接执行 sql

DbContext API 的一些关键点

时间: 2024-10-13 20:32:34

DbContext API 的一些关键点的相关文章

DbContext API 介绍

写这篇博客的时候,听闻EF7都发布半年了,吐糟下巨硬,同时对自己老处在追赶者的角色深感不满. 言归正传,提起DbContext就不得不提ObjectContext,在EF第一个版本发布以来,其中最重要的组件就是ObjectContext,ObjectContext提供了概念上的模型来让我们与数据库交互(写查询表达式.执行查询,跟踪模型修改状态,持久化修改到数据库),他同时也与其他重要的EF类来进行交互操作: ObjectSet:在内存中对实体进行集合操作. ObjectQuery:针对概念模型的

[译]DbContext API中使用SqlQuery和ExecuteSqlCommand获取存储过程的输入输出参数

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

关于EF实体框架中的 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#

DbContext 查询

使用LINQ to Entities来写查询语句 Entity Framework查询是使用的.NET Framework功能Language Integrated Query,AKA LINQ.LINQ与.NET的编程体验是紧密集成在一起的,它提供了强类型的查询,何谓强类型,各位自行补脑.与弱类型的查询相比,它提供了编译时检查来保证你的查询通过验证以及IntelliSense. LINQ是一个通用的查询框架,并不仅仅是针对Entity Framework或者数据库的,LINQ提供程序负责把LI

EntityFramework 学习 一 DbContext

上一节中EDM自动生成SchoolEntities类,该类继承DbContext EntityFramework4.1之前的版本,EDM生成的类继承ObjectContext,使用ObjectContext稍微有点棘手,DbContext概念上与ObjectContext相似,它是ObjectContext的封装,DbContext是EF重要的组成部分,它是领域或实体类和数据库的桥梁 DbContext是主要的类负责数据和对象互相转化 EntitySet:  DbContext包含实体集合(DB

使用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 c

JSON API 1.0 核心开发者自述 | 你所不知道的那些技术细节

2013年5月,Yehuda Katz 完成了JSON API(英文,中文) 技术规范的初稿.事情就发生在 RailsConf 之后,在那次会议上他和 Steve Klabnik 就 JSON 雏形的技术细节相聊甚欢.在沟通单一 Rails 服务器库-- ActiveModel::Serializers 和单一 JavaScript 客户端库-- Ember Data 的强烈呼声下,JSON API 应运而生(关于这段历史,我在2013年2月第一届 EmberCamp 上有一个演讲,感兴趣的可以

Entity Framework 教程——概述

Entity Framework 基础 本教材将手把手教你使用entity framework,我们将使用entity framework 6.0和visual studio 2012. 以下表格是entity framework的各个重大版本 版本 功能 EF 3.5 提供database first功能 EF 4.0 POCO( Plain Old CLR Object / POCO )支持,延迟加载,可测试性改进.可自定义代码生成和 Model First 工作流. EF 4.1 在Nug

《Entity Framework 6 Recipes》中文翻译系列 (45) ------ 第八章 POCO之获取原始对象与手工同步对象图和变化跟踪器

翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 8-6  获取原始对象 问题 你正在使用POCO,想从数据库获取原始对象. 解决方案 假设你有如图8-7所示的模型.你正在离线环境下工作,你想应用在获取客户端修改之前,使用Where从句和FirstDefault()方法从数据库中获取原始对象. 图8-7.包含一个单独实体Item的模型 按代码清单8-9的方式,在获取实体之后,使用新值更新实体并将其保存到数据库中. 代码清单8-9. 获取最新