我正在使用表格从数据库更新模型。 该表有一个计算字段(SomeFiled ISNULL(column1,column2))
将表导入edmx时,此字段将设置一个关键字段。 这种配置给我带来麻烦。
我手动更改了它,但我正在与其他人一起处理该项目,并希望防止有人更新模型而忘记更改字段的情况。
有没有办法在edmx或其他一些解决方法上设置一些更新后操作?
提前致谢并致以亲切的问候。
答案 0 :(得分:0)
以下是您的情况示例,您可以根据自己的情况使用相同的概念。
在dbcontext子类中,重写OnModelCreating并添加这样的新配置;
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new BankAccountEntityTypeConfiguration());
}
还要创建如下的e配置类;
class BankAccountEntityTypeConfiguration:EntityTypeConfiguration<BankAccount>
{
public BankAccountEntityTypeConfiguration()
{
//key and properties
this.HasKey(ba => ba.Id);
this.Property(ba => ba.Balance)
.HasPrecision(14, 2);
//associations
this.HasRequired(ba => ba.Customer)
.WithMany()
.HasForeignKey(ba => ba.CustomerId)
.WillCascadeOnDelete(false);
this.HasMany(ba => ba.BankAccountActivity)
.WithRequired()
.HasForeignKey(ba => ba.BankAccountId)
.WillCascadeOnDelete(true);
}
}
并且你也可以在配置中使用这样的东西;
this.Property(t => t.Sum)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)