哪种流利的api方法与数据注释API中的[Timestamp]属性相对应,以检查并发性

问题描述

| 我正在使用Entity Framework 4.1。 哪种流利的api方法对应于数据注释API中的[Timestamp]属性,以检查并发性?     

解决方法

        如果您有这样的课程:
public class MyEntity
{
    ...
    public byte[] Timestamp { get; set; }
}
您将像这样使用流畅的映射:
modelBuilder.Entity<MyEntity>()
            .Property(e => e.Timestamp)
            .IsConcurrencyToken()
            .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);
要么:
modelBuilder.Entity<MyEntity>()
            .Property(e => e.Timestamp)
            .IsRowVersion();              
    ,        您可以按照Ladislav Mrnka所述使用代码,但是 之间的区别很小:
modelBuilder.Entity<MyEntity>()
            .Property(e => e.Timestamp)
            .IsConcurrencyToken()
            .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);
modelBuilder.Entity<MyEntity>()
            .Property(e => e.Timestamp)
            .IsRowVersion();   
第二个等效于
[Timestamp]
属性,但是当我们将'Timestamp'更改为流利的API代码的第一个版本时,首先生成以下迁移:
    public override void Up()
    {
        AlterColumn(\"dbo.MyEntity\",\"Timestamp\",c => c.Binary());
    }

    public override void Down()
    {
        AlterColumn(\"dbo.MyEntity\",c => c.Binary(nullable: false,fixedLength: true,timestamp: true,storeType: \"rowversion\"));
    }
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...