随笔分类 -  EF

EF
摘要:本来EF的设计上DbContext就应该是一个短暂存在的对象,所以它默认才开了缓存和自动检测对象修改之类的功能,而且不是线程安全的。理想的生命周期应该是处理一次请求使用一个context,全局使用会带来很多问题。 1、对于即时性要求比较高的数据,每次手动创建一个context新实例来操作数据; 2、 阅读全文
posted @ 2018-09-14 16:58 杨浪 阅读(606) 评论(0) 推荐(0) 编辑
摘要:1 public void Insert(PageHost entity) 2 { 3 try 4 { 5 db.pagehost.Add(entity); 6 db.SaveChanges(); 7 } 8 catch (DbEntityValidationException ep) 9 { 10 ... 阅读全文
posted @ 2018-08-30 15:08 杨浪 阅读(714) 评论(0) 推荐(0) 编辑
摘要:比较简单的办法: Entity Framework 6提供了Index属性来创建数据库中特定列的Index,如下所示: 默认情况下,索引名称将为IX_ {属性名称}。 当然你也可以更改索引名称。 可以通过指定IsClustered = true和唯一索引来指定IsUnique = true来使其成为 阅读全文
posted @ 2018-08-22 16:28 杨浪 阅读(1674) 评论(0) 推荐(0) 编辑
摘要:ZZZ Project 这家外国公司,有很多关于.NET和数据访问的项目,有收费的,有开源的,我之前介绍过 Z.ExtensionMethods 一个强大的开源扩展库 就出自该名下,其他有 如下 1. Bulk-Operations ,这个我相信大家也不陌生,Ado.Net 批量操作数据组件 收费 阅读全文
posted @ 2018-08-08 09:59 杨浪 阅读(1527) 评论(2) 推荐(0) 编辑
摘要:仅限EF6仅向前 - 此页面中讨论的功能,API等在实体框架6中引入。如果您使用的是早期版本,则部分或全部信息不适用。 使用Code First时,您的模型是使用一组约定从您的类计算的。默认的Code First Conventions确定哪些属性成为实体的主键,实体映射到的表的名称,以及默认情况下 阅读全文
posted @ 2018-08-02 11:14 杨浪 阅读(220) 评论(0) 推荐(0) 编辑
摘要:1.通过ColumnType属性设置 在进行以上属性设置时,请首先引入命名空间:System.ComponentModel.DataAnnotations.Schema 2.通过StringLength属性设置 3.通过Fluent API配置设置 阅读全文
posted @ 2018-07-14 13:12 杨浪 阅读(420) 评论(0) 推荐(0) 编辑
摘要:在EF中,我们建立数据模型的时候,可以给属性配置数据生成选项DatabaseGenerated,它后有三个枚举值:Identity、None和Computed。 Identity:自增长 None:不处理 Computed:表示这一列是计算列。 在EF中,如果主键是int类型,Code First生 阅读全文
posted @ 2018-07-14 12:57 杨浪 阅读(2435) 评论(0) 推荐(0) 编辑
摘要:为了说明什么是复杂属性,先举一个例子。 上面有两个类:公司地址和家庭地址,它们有四个相同的属性:StreetAddress、City、State、ZipCode。映射到数据库中的结构如图: 这里,我们可以将这四个属性集合成一个复杂属性Address,修改后的类为: 此时,所生成的数据库如图: 可以看 阅读全文
posted @ 2018-07-14 12:54 杨浪 阅读(245) 评论(0) 推荐(0) 编辑
摘要:要更改EF中的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面;还有一个就是Fluent API,通过新增相应的配置类来覆盖默认配置。现在我们用这两个来对比了解EF中的约定配 阅读全文
posted @ 2018-07-14 12:51 杨浪 阅读(229) 评论(0) 推荐(0) 编辑
摘要:方案一: 使用EntityFramework.Extended优点: 启下载量是Z.EntityFramework.Extensions的10倍+ 不会过期缺点:不能批量Insert 方案二:解决批量Insert(update不可用,update必须是true) ///在批量插入时,需要加上dbCo 阅读全文
posted @ 2017-11-23 14:21 杨浪 阅读(4555) 评论(0) 推荐(0) 编辑
摘要:应用场景 场景一:EF Code First默认使用类名作为表名,如果我们需要给表名加个前缀,例如将类名Category映射到表Shop_Category、将Product映射到Shop_Product,在EF 6之前,只能一个一个地使用Data Annotation( [Table("Shop_C 阅读全文
posted @ 2017-11-06 01:07 杨浪 阅读(713) 评论(0) 推荐(0) 编辑
摘要:通过参考http://www.itnose.net/news/171/6306259里面介绍的方法,我们可以在程序的解决方案的引用中选择NuGet管理包中添加 该扩展方法提供BulkInsert()方法和BulkSaveChanges()方法可以高效地进行写入操作,因此整体思路是采用BulkInse 阅读全文
posted @ 2017-11-03 14:54 杨浪 阅读(1419) 评论(0) 推荐(0) 编辑
摘要:EF删除和修改数据只能先从数据库取出,然后再进行删除 delete from Table1 where Id>5; update Table1 set Age=10; 我们需要这样操作 在github中提供了一个EF扩展库,支持批量操作,不用先查询出来,然后逐个删除 https://github.c 阅读全文
posted @ 2017-08-28 16:47 杨浪 阅读(526) 评论(0) 推荐(0) 编辑
摘要:阅读目录 前言 获取和使用 新特性 项目升级和核心API变化 下一步计划 遗憾的地方 回到目录 前言 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升级EF也发展到EF6.x,Entity Framework Core是一个支持跨平台的全新版本,可以 阅读全文
posted @ 2017-08-23 10:14 杨浪 阅读(967) 评论(0) 推荐(1) 编辑
摘要:本文翻译自《Entity Framework Core: Naming Convention》,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。正式版发布时,功能可能存在变 阅读全文
posted @ 2017-07-20 17:00 杨浪 阅读(986) 评论(0) 推荐(0) 编辑
摘要:本文翻译自《Entity Framework Core: Soft Delete using Query Filters》,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。 阅读全文
posted @ 2017-07-20 16:56 杨浪 阅读(2222) 评论(0) 推荐(0) 编辑
摘要:Code-First数据迁移 首先要通过NuGet将EF升级至最新版本。 新建MVC 4项目MvcMigrationDemo 添加数据模型 Person 和 Department,定义如下: 添加控制器 PersonController 调试,网址输入http://localhost:7139/Pe 阅读全文
posted @ 2017-07-07 18:32 杨浪 阅读(353) 评论(0) 推荐(0) 编辑
摘要:1、EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework。 在程序包管理器控制台中执行以下语句,安装EntityFramework。 安装成功后,界面提示如下图: 在新建的Portal控制台应用程序中添加两个实体类,代码结构如 阅读全文
posted @ 2017-07-07 18:19 杨浪 阅读(267) 评论(0) 推荐(0) 编辑
摘要:Entity Framework Code First属性映射约定中“约定”一词,在原文版中为“Convention”,翻译成约定或许有些不好理解,这也是网上比较大多数的翻译,我们就当这是Entity Framework的一些使用“规则”,这样或许更好理解一些。 Entity Framework C 阅读全文
posted @ 2017-07-07 18:11 杨浪 阅读(402) 评论(0) 推荐(0) 编辑
摘要:在Code First方法中,还可以通过Fluent API的方式来处理实体与数据表之间的映射关系。 要使用Fluent API必须在构造自定义的DbContext时,重写OnModelCreating方法,在此方法体内调用Fluent API。 如下面代码所示: public class Blog 阅读全文
posted @ 2017-07-07 17:52 杨浪 阅读(201) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示