使用Entity Framework的Fluent API,我可以使用以下代码在用户表中成功插入新行:
modelBuilder.Entity<User>().ToTable("Users");
modelBuilder.Entity<User>().HasKey(x => x.UserId);
但是,我也想基于分配给UserId的Guid设置CreatedBy字段。以下代码不起作用:
modelBuilder.Entity<User>().Property(x => x.CreatedBy)
.HasDefaultValueSql("SCOPE_IDENTITY()");
任何建议,我将不胜感激。谢谢。
答案 0 :(得分:0)
这可以使用.HasComputedColumnSql
完成。
示例:
modelBuilder.Entity<Contact>()
.Propery(p => p.LastModified)
.HasComputedColumnSql("GetUtcDate()");
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<SalesOrderHeader>()
.Property(e => e.SalesOrderNumber)
.HasComputedColumnSql("isnull(N'SO'+CONVERT([nvarchar](23),[SalesOrderID]),N'*** ERROR ***')");
}
这是您可以参考的链接:
希望这会有所帮助,
HK