首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖EDMX行为

覆盖EDMX行为
EN

Stack Overflow用户
提问于 2013-11-27 16:18:36
回答 1查看 163关注 0票数 0

我正在使用表从数据库中更新模型。该表有一个计算字段( SomeFiled ISNULL(column1,column2))

当表格被导入到edmx时,该字段被设置为关键字段。这个配置给我带来了麻烦。

我手动更改了它,但我正在与其他人在项目中工作,并希望防止有人更新模型并忘记更改字段的情况。

有没有办法在edmx或其他变通方法上设置一些更新后的操作?

提前感谢并致以亲切的问候。

EN

回答 1

Stack Overflow用户

发布于 2013-11-27 16:44:21

这是一个针对您的情况的示例,您可以对您的情况使用相同的概念。

在dbcontext子类中,覆盖OnModelCreating并添加一个新配置,如下所示;

代码语言:javascript
复制
       protected override void OnModelCreating(DbModelBuilder modelBuilder)
       {
           modelBuilder.Configurations.Add(new BankAccountEntityTypeConfiguration());
       }

同时创建e配置类,如下;

代码语言:javascript
复制
       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);
           }
         }      

你也可以在配置中使用类似这样的东西;

代码语言:javascript
复制
         this.Property(t => t.Sum)
             .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20237113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档