Entity Framewor 学习笔记 (碎碎的东西)

Proxy 类代理类是为了让EF实现lazy load才需要的
public class BloggingContext : DbContext {     public BloggingContext()     {         this.Configuration.ProxyCreationEnabled = false;     }   }这样就可以关掉了。
using (var context = new BloggingContext()) {     var blog = context.Blogs.Find(1);     var entityType = ObjectContext.GetObjectType(blog.GetType()); }上面这个写法可以100%拿到Original Class, 如果 Proxy 是开启的状态,那么这将很好用 

AsNoTracking 
using (DB db = new DB())
{
    var product = db.products.AsNoTracking().FirstOrDefault();
    var state = db.Entry(product).State; // Detached
}

看到了吧,可以返回一个 Detached 的Entity, 可以帮助提升性能.



时间: 2024-12-26 05:17:24

Entity Framewor 学习笔记 (碎碎的东西)的相关文章

Entity Framewor 学习笔记 (Enum)

EF 6 支持Enum 的处理 这里只说一下概念,因为我没有使用这个做法. 首先说一下 mysql 和 sql server 的区别 mysql 是有 Enum 这个类型的 , insert 时是放入 int , 出来的时候它会是 string (int to str 是设定在 mysql 内的) mssql 不支持 Enum 这个类型,也不好模拟. (有人用 check constraint 来模拟,我觉得不太理想) 入题, sql 应该使用 int. EF 对 Enum 会自行替换成 int

Entity Framewor 学习笔记 (include + where)

如果我们想在子查询做过滤的话应该怎样写呢? IEnumerable<Product> products = db.products.Include(p => p.colors.Where(c => c.id == 5)).ToList(); product - color , 1-n 可能你以为是这样,但是结果是 error : "The Include path expression must refer to a navigation property defined

Entity Framework 学习笔记(2)

上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// Context相当于一个数据库 /// </summary> public class MusicContext : DbContext { //base("LocalDB")表示要用到config文件中的名为"LcoalDB"的连接字符串 public

ADO.NET Entity Framework学习笔记(3)ObjectContext

ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转] 说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject 添加实体 将实体添加到集合中, 创建实体时,状态为EntityState.Detached 当调用AddObject将实体添加到Context时,状态为EntityState.Added myContext context = new myContext(); myTab r = new myTab(

Entity Framework6学习笔记(一)

技术的发展真是太快了,转眼间已经是第6个版本,现在抓紧时间学习一下!进入正题…… 前提条件: 1.联网 2.平台:在Visual Studio 2013 3.数据库:SQL Server 2008R2 一.在项目中引入Entity Framework框架支持: 1.检查在项目中有没有引用EntityFramework和EntityFramework.SqlServer库文件: 2.如果没有则点击工具—NuGet程序包管理器—管理解决方案的NuGet程序包… 3.打开程序包管理界面搜索entity

Entity Framework学习笔记——edmx文件

上文简单介绍了一下Entity FrameWork,这里说一下EF的核心--edmx文件. 在VisualStudio中建立edmx文件(此例环境为VisualStudio2012) 1.新建-ADO.NET实体数据模型: 2.选择数据模型时,因为我之前已经在数据库中建立好表了,所以我们这里先选择从数据库生成(即DB First),如果选择空模型,就可以在没有建立数据库的情况下,通过先建立实体模型来生成实体类和数据库表. 3.选择数据库连接 4.选择或设置好连接的服务器.验证信息.数据库名: 5

Entity Framework 学习笔记(1)

from:http://www.cnblogs.com/Richeir/p/5347000.html 开始从头系统地学习Entity Framework,当前的稳定版本为6.1.3,Nuget主页 http://www.nuget.org/packages/EntityFramework/ 微软喜欢把Entity Framework和ASP.NET MVC放在一起来用,从Entity Framework的主页的所有者就可以看出来 当然,这两者也是紧密的结合在一起的,“新一代”Web开发框架和“新

Entity Framework 学习笔记(一)之数据模型 数据库

关于Entity Framework  数据模型 的开发有三种模式:1.引用数据库方式:2.在VS中新建EF空模型Model 方式:3.Code 方式 Entity Framework  数据模型  引用"引用数据库方式"进行开发创建的使用,具体如下: 开发环境:VS2012 数据库:SQL Server 2008 Entity Framework  版本:6.12 1.新建数据库 在数据库中新建数据库,并创建数据表,以下截图只供参考: 2.新建项目 在VS中新建一个控制台应用程序 F

Entity Framework 学习笔记(二)之数据模型 Model 使用过程

欢迎大家加入我们:ASP.NET交流群(1群) ExtJs4.2交流群(3群) 97869295 Entity Framework  数据模型 Model 创建的使用: 开发环境:VS2012 数据库:SQL Server 2008 Entity Framework  版本:6.12 下面是新建的项目架构:(当然这是我的项目架构,只是参考) 1. 新建项目 新建一个控制台项目即可 :Future.LifeWillBetter.DAL.ForModel.ConsoleApplication 如图: