Entity Framework 小知识(三)

简介: Entity Framework 小知识(三)

零、乐观并发

在单服务器上运行的站点,为了防止出现脏读现象,我们一般使用Lock语句关键字,但是如果在分布式站点上使用Lock语句关键字是不起作用的,因为程序锁住了服务器1数据库实例,但服务器2并不知道服务器1已被锁住,这样依然会出现脏读现象。这时我们就用到了EF的乐观并发。


EF中解决并发有两种方式:


  1. 利用并发Token;
  2. 利用行版本的方式

代码如下:

public class EfDbContext : DbContext
{
    public EfDbContext()
    {
        Database.SetInitializer(new DropCreateDatabaseIfModelChanges<EfDbContext>());
    }
    public virtual void OnModelCreating(DbModelBuilder modelBuilder)
    {
        // 利用并发Token
        modelBuilder.Entity<Users>().Property(t=>t.Name).IsConcurrencyToken();
        // 利用行版本
        modelBuilder.Entity<Users>().Property(t=>t.Name).IsRowVersion();
    }
}

注:在并发量不是很大的时候可以使用EF的乐观并发,在访问量很大的时候应该使用其他技术处理并发问题。

目录
相关文章
|
XML 存储 数据库连接
Entity Framework学习笔记——edmx文件
上文简单介绍了一下Entity FrameWork,这里说一下EF的核心——edmx文件。 在VisualStudio中建立edmx文件(此例环境为VisualStudio2012)
Entity Framework学习笔记——edmx文件
|
数据库
Entity Framework Core介绍(1)
介绍 Entity Framework (EF) Core 是轻量化、可扩展和跨平台版的常用 Entity Framework 数据访问技术。 EF Core 可用作对象关系映射程序 (O/RM),以便于 .NET 开发人员能够使用 .NET 对象来处理数据库,这样就不必经常编写大部分数据访问代码了。
1022 0
|
存储 开发框架 .NET
Entity Framework基础01
Entity Framework基础01
206 0
Entity Framework基础01
|
SQL 数据库
Entity Framework 小知识(二)
Entity Framework 小知识(二)
182 0
|
数据库 数据库管理
Entity Framework 小知识(一)
Entity Framework 小知识(一)
137 0
|
数据库
Entity Framework 小知识(五)
Entity Framework 小知识(五)
144 0
|
索引
Entity Framework 小知识(四)
Entity Framework 小知识(四)
144 0
|
数据库 容器
Entity Framework Core(3)-配置DbContext
设计时 DbContext 配置 EF Core 设计时工具如迁移需要能够发现和创建的工作实例DbContext以收集有关应用程序的实体类型以及它们如何映射到数据库架构的详细信息的类型。 此过程可以为自动,只要该工具可以轻松地创建DbContext,会将其配置同样到它如何将配置在运行时的方式。
965 0