entity framework 上下文对于对象的跟踪有2中方式进行控制,第一种从数据库查询但不加载到上下文. 这里可以用到.AsNoTracing()方法. 这里用到的是实体(entity)在上下文中的本身的几种状态:主要是attached,detached, 针对attached的这些实体以及其中的属性,本身还有一个entitystate,包括modified,unchanged. 这里就涉及到实体的跟踪机制,entityframework模式是最终这些修改的,但是我们可以通过 ctx.Co…
本文翻译自<Entity Framework Core: Generate tracking columns>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final).正式版发布时,功能可能存在变动. 当您设计数据库时,有时需要添加列以跟踪记录何时更改,以及谁进行了更改.例如,您添加以下列: CreatedAt CreatedBy LastUpdatedAt LastUpda…
Entity framework有3种加载数据的方式:懒汉式(Lazy loading),饿汉式(Eager loading),显示加载(Explicit loading).3种加载方式有各自的优缺点,详细的可以参考微软的技术文章<Reading Related Data with the Entity Framework in an ASP.NET MVC Application> 本文只针对需要一次性加载多个相关联实体的情况进行讨论.   1. 数据库模型     2. Model和DbC…
摘自:https://www.cnblogs.com/tdfblog/p/entity-framework-core-generate-tracking-columns.html Ef Core 官方文档: https://docs.microsoft.com/zh-cn/ef/core/ 文章列举了三种:读写属性.只读属性.不定义属性(阴影属性 Shadow ). 下面是摘的一种阴影属性简单实现: 一.添加阴影属性: 1. 在 OnModelCreating 方法中声明阴影属性: protec…
Entity Framework Code First通过DbContext.ChangeTracker对实体对象的变动进行跟踪,实现跟踪的方式有两种:变动跟踪快照和变动跟踪代理. 变动跟踪快照:前面几篇随笔的示例都是通过实体对象变动快照跟踪来实现数据操作的,POCO模型不包含任何逻辑去通知Entity Framework实体类属性的变动.Entity Framework在第一次对象加载到内存中时进行一次快照,添加快照发生在返回一次查询或添加一个对象到DbSet中时.当Entity Framew…
原文:[翻译] - <Entity Framework> - 直接执行数据库命令 纯属学习上的记录, 非专业翻译, 如有错误欢迎指正! 原文地址: http://msdn.microsoft.com/en-us/library/gg715124(v=vs.103) 使用 EF 4.1 或者更新版本, 你可以直接执行任何数据库命令. 在本节介绍的方法允许你对数据库执行原生的 SQL 命令. 通过 SQL 查询语句获取实体对象集 DbSet 类中的 SqlQuery 方法允许你执行一个返回实体对象…
随着 Entity Framework 最新主版本 EF6 的推出,Microsoft 对象关系映射 (ORM) 工具达到了新的专业高度,与久负盛名的 .NET ORM 工具相比已不再是门外汉. EF 已经完全成熟,正在超越以前广泛使用的工具. Entity Framework 已经度过了青涩期,它最初只是供数据库开发者使用的工具,后来在 .NET 社区的敏捷开发者中间引起轰动. 它学会了如何摆脱应用程序开发模式,转向了普通旧 CLR 对象 (POCO) 模型,支持以测试和域为中心的软件开发,同…
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类.指定数据库连接字符串以及创建一个数据库.最后,我们还将添加视图和控制器来管理和显式产品和分类数据. 注意:如果你想按照本章的代码编写示例,你必须完成第一章或者直接从www.apress.com下载第一章的源代码. 2.1 添加模型类 Entity Framework的代码优先模式允许我们从模型类创…
这篇博客将介绍EF Code First中如何使用SQL Compact.SQL Compact是微软推出的免费的关系型数据库,目前最新版本是SQL Compact 4.0.微软的开发工具VS 2010/SQL Server 2008及后续版本中均不带有SQL Compac 3.5/4.0t数据库查看工具.不过CodePlex上有一个SqlCeToolbox的工具非常不错.有点儿像精简版的SQL Server Management Studio. SQL Compact可以用于以下的一些场景,例…
提示1. 在Entity Framework中怎样排序关系(Relationships) 问题: 在Entity Framework论坛中常会看到关于排序相关联项目的问题. 例如,想象你要查询客户,并返回那些欠款超过30的账户,与此同时检索这些账户的订单. 并且你需要将那些订单按下单日期排序,这样你可以首先看到最近的订单,以便轻松的查找到可疑的行为. 答案: 大部分人们可能都知道EF中可以使用Include()即时加载一个关系.如下示例: 1 var lateCustomers = from c…