[英]Entity framework model first timestamp
我正在开发基于实体框架的应用程序。 我正在使用模型优先方法。 我想处理并发问题。 正如许多文章所述,我将通过将ConcurrencyMode转换为固定在一个时间戳的字段上来实现。 目前我遇到了问题 - 我无法添加timestamp类型的字段(列)。 我怎么能在模特中做到这一点?
正如这里所写:
我尝试安装Entity Designer数据库生成Power Pack,但我仍然认为没有可能从模型生成时间戳(我甚至尝试在edmx文件中手动设置它,但我仍然没有在生成的数据库中接收时间戳fcolumn)。
请帮忙。
我认为数据库类型时间戳映射到EF中的二进制属性类型。
我的模型的timestamp列是Binary类型,长度为8,固定长度为true,StoreGenratedPattern为Computed。
编辑:如果没有更改t4模板,实际上是不可能的,如下所述: 实体框架时间戳生成数据库问题
EF 6.1,我有这个:
public partial class DepartmentEFEntity
{
Guid DepartmentUUID { get; set; }
public byte[] TheVersionProperty { get; set; }
}
然后:
modelBuilder.Entity<DepartmentEFEntity>().Property(o => o.TheVersionProperty).HasColumnType("timestamp").HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed).IsRowVersion();
当我编写表格时,我得到了这个:
CREATE TABLE [dbo].[Department](
[DepartmentUUID] [uniqueidentifier] NOT NULL,
[TheVersionProperty] [timestamp] NOT NULL
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.