在博客园很久了,一直只看不说,这是发布本人的第一个博客。

总结一下在项目中,EntityFramework使用的一下经验拿来和大家分享,希望对大家有用~

1、         在Entity Framework中使用事务

1) TransactionScope

using (BlogDbContext context =new BlogDbContext())

{

using (TransactionScope transaction =new TransactionScope())

{

context.BlogPosts.Add(blogPost);

context.SaveChanges();

postBody.ID = blogPost.ID;

context.EntryViewCounts.Add(

new EntryViewCount() { EntryID = blogPost.ID });

context.PostBodys.Add(postBody);

context.SaveChanges();

//提交事务

transaction.Complete();

}

}

相关链接:

在Entity Framework中使用事务

EntityFramework与TransactionScope事务和并发控制

微软的TransactionScope类是个好玩意

将不确定变为确定~transactionscope何时提升为分布式事务?

2)   Working with Transactions (EF6 Onwards)

using (var dbContextTransaction = context.Database.BeginTransaction())

{

try

{

context.Database.ExecuteSqlCommand( @"UPDATE Blogs SET Rating = 5 WHERE Name LIKE '%Entity Framework%'" );

var query = context.Posts.Where(p => p.Blog.Rating >= 5);

foreach (var post in query)

{

post.Title += "[Cool Blog]";

}

context.SaveChanges();

dbContextTransaction.Commit();

}

catch (Exception)

{

dbContextTransaction.Rollback();

}

}

相关链接:

Working with Transactions (EF6 Onwards)

2、         EF 中 Many to Many relation

1)  DateBase First

相关链接:

Entity Framework 4-多对多、自关联的关系

2)  Code First

尤其注意双向一对一关系,直接已对象一的主键设置为对象的主键和外键

相关链接:

Entity Framework 实体关系总结:one-to-one, one-to-many, many-to-many

**** Entity Framework Code First关系映射约定

Entiy Framework实践系列

3、         EF 中的继承Inheritance

1)  DataBase First

相关链接:

Entity Framework Modeling: Table Per Type Inheritance

Entity Framework Modeling : Entity Splitting

Entity Framework Modeling: Entity Splitting Part II (adding inheritance)

2)  Code First

相关链接:

Inheritance Strategy in Code-First

a)       Table per Hierarchy (TPH)

b)       Table per Type (TPT)

c)       Table per Concrete class (TPC)

4、         EF Code First Migrations数据库迁移

Matrix 3.0

相关链接:

EF Code First Migrations数据库迁移

Code First Migrations

migrate.exe

【迁移】—Entity Framework实例详解

Code First Migrations with an existing database

5、         EF中直接运行SQL命令

相关链接:

Entity Framework 小技巧二 —— 如何在EF中直接运行SQL命令

How to execute sql query from Entity framework

Entity Framework Code First执行SQL语句、视图及存储过程

6、         EF深入了解

相关链接:

Entity Framework 4.1 DbContext使用记之一——如何查找实体? DbSet.Find函数的使用与实现

EF直接更新数据(不需查询)

(个人来说不是很推荐,还是比较倾向于先查)

7、         EF中Self-Tracking Entities

相关链接:

Self-Tracking Entities

使用自跟踪实体

8、         EF 批量更新、删除

相关链接:

Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)

entity framework 批量更新,批量删除,分页 的扩展函数

Linq To SQL 批量更新方法汇总

9、         EF 6新特性

EF 6.0 TUTORIALS

1)  异步

相关链接:

Async query and Save

2)  Log

相关链接:

Database Command Logging

3)  Interception 拦截

相关链接:

Interception

EF架构~通过EF6的DbCommand拦截器来实现数据库读写分离~终结~配置的优化和事务里读写的统一

4)  批量增加删除

相关链接:

DbSet.AddRange & DbSet.RemoveRange:

10、     EF 注意事项

相关链接:

为提高entity framework 性能,要注意哪些事情.

11、    Configuring Relationships

1)  DataBase First

相关链接:

实体框架关系与导航属性

2)  Code First

相关链接:

Fluent API - Relationships

12、    并发模式

1)  DataBase First

并发模式

2)  Code First

Code First开发系列之管理并发和事务

高并发处理 - 乐观锁

Entity Framework 并发处理

EF+MySQL乐观锁控制电商并发下单扣减库存,在高并发下的问题

13、  Fluent API

Entity Framework Code First (四)Fluent API - 配置属性/类型

14、Code first 数据库初始化

Understanding Database Initializers in Entity Framework Code First

15、EntityFramework Connection Management -- 数据库连接管理

EntityFramework Connection Management

Entity Framework 项目使用心得的更多相关文章

  1. 记一次Entity Framework 项目的优化过程

    在博客园看了不少其他大神的经验.今天也抽空贡献点自己的经验(并不是说自己也是大神..小弟还只新手程序员去年才毕业的) 好了废话不多说,直接进入主题.(具体的好坏各位看官就随便看看吧..没有什么好坏之分 ...

  2. Entity Framework 6.1 学习系列1--概况、安装

    原文:Entity Framework 6.1 学习系列1--概况.安装 Entity Framework:实体框架,看名字就知道是针对模型数据的.这是MS推出的一款ORM工具. 与NHibernat ...

  3. Entity Framework 实体框架的形成之旅--实体数据模型 (EDM)的处理(4)

    在前面几篇关于Entity Framework 实体框架的介绍里面,已经逐步对整个框架进行了一步步的演化,以期达到统一.高效.可重用性等目的,本文继续探讨基于泛型的仓储模式实体框架方面的改进优化,使我 ...

  4. Entity FrameWork对有外键关联的数据表的添加操作

    前天做了一个MVC Entity FrameWork项目,遇到有外键关联的数据编辑问题.当你编辑的时候,按照正常的逻辑,把每个字段的数据都对号入座了,然后点击保存按钮,本以为会顺理成章的编辑数据,但是 ...

  5. 采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)

    前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC Mi ...

  6. N-Tier Entity Framework开源项目介绍

               N-Tier Entity Framework是一个基于微软Entity Framework的N层.NET解决方案. 并且与以下这此技术点无缝集成了: § WCF RIA Ser ...

  7. 旧项目如何切换到Entity Framework Code First

    Entity Framework Code First固然是好东西,然而如果是已经存在的旧有项目,如何简单方便的使用切换呢? 这里介绍一个VS的插件Entity Framework Power Too ...

  8. Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作

    Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作 1>. 创建一个控制台程序2>. 添加一个 ADO.NET实体数据模型,选择对应的数据库与表(Studen ...

  9. ASP.Net Core项目在Mac上使用Entity Framework Core 2.0进行迁移可能会遇到的一个问题.

    在ASP.Net Core 2.0的项目里, 我使用Entity Framework Core 2.0 作为ORM. 有人习惯把数据库的连接字符串写在appSettings.json里面, 有的习惯写 ...

随机推荐

  1. vue2 vue-router2 webpack1

    转自:http://www.qinshenxue.com/article/20161106163608.html: 项目地址:https://github.com/qinshenxue/vue2-vu ...

  2. hive 和Hbase的pom文件

    <hadoop-common></hadoop-common> <hadoop-hdfs></hadoop-hdfs> <dependency&g ...

  3. PHP——0128练习相关1——window.open()

    Window.open()方法参数详解 1, 最基本的弹出窗口代码   window.open('page.html'); 2, 经过设置后的弹出窗口   window.open('page.html ...

  4. hdu6149 Valley Numer II 分组背包+状态压缩

    /** 题目:hdu6149 Valley Numer II 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6149 题意: 众所周知,度度熊非常喜欢图. ...

  5. golang Time to String

    golang Time to String allenhaozi · 2016-09-02 09:00:00 · 2447 次点击 · 预计阅读时间 1 分钟 · 19分钟之前 开始浏览 这是一个创建 ...

  6. git clone 故障 fatal could not create work tree dir

    问题如上图,原因是openWRT目录权限的问题,该目录是新创建的查看目录权限后发现该目录只对root有读写权限,对所有者及其他用户无读写权限.最简单的chmod 777 openWRT即可解决问题.

  7. CSS3 实现厉害的文字和输入框组合效果

    最近在忙着弄网站,学到了不少效果,这又是一个厉害的  <html> <head> <meta http-equiv="Content-Type" co ...

  8. TF Boys (TensorFlow Boys ) 养成记(三): TensorFlow 变量共享

    上次说到了 TensorFlow 从文件读取数据,这次我们来谈一谈变量共享的问题. 为什么要共享变量?我举个简单的例子:例如,当我们研究生成对抗网络GAN的时候,判别器的任务是,如果接收到的是生成器生 ...

  9. 008Maven_建立私服

    参考博客:http://blog.csdn.net/fengspg/article/details/22507737   .1. Maven私服 关于中央仓库注意事项 l  地址: 目前来说: htt ...

  10. (转)spring IOC、DI理解

    转自: http://www.cnblogs.com/xdp-gacl/p/4249939.html 个人理解: IOC控制反转,反转的是获取依赖对象的方式.传统的应用在存在依赖关系时,比如A依赖于B ...