代码首先创建没有标识列的表[Key]

时间:2017-02-04 19:00:49

标签: sql ef-code-first migration identity ef-migrations

我创建了类并添加了迁移。具有基本属性的所有类看起来像:

filePath

BaseModel - 是我的自定义字段(addedBy,addedDate等)

前一段时间,我为我的数据库添加了许多表。生成的迁移代码创建所有表的女巫身份NO,并且密钥不会自动递增。

我尝试在我的模型上创建新的迁移变换或OnModelCreating(没有混合):

import { Injectable, Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'arrayFilter'
})
@Injectable()
export class AttributeFilterPipe implements PipeTransform {
  transform(array: any[], filterFrom: any[]): any {
    array.filter(item => filterFrom.some(f => f.value == item.value));
  }
}

  public class CustomersInquiries : BaseModel
    {
        [Key]
        public int CustomersInquiryId { get; set; }
    }

没有效果。迁移代码生成为空。

如何修复我的数据库?

修改

我做:

  1. 在SSMS生成脚本(仅限示意图)
  2. 删除数据库
  3. 在旧数据库
  4. 上创建相同名称的数据库
  5. 修复我的迁移类(添加标识:true缺少的地方)
  6. in pmc update-database -verbose -force
  7. 这个步骤解决了我的问题,但下次这样的事情我将能够浪费时间寻找repro。我不知道为什么不好生成这些表。

    EDIT2:

    验证编写脚本。它可能对某人有用。

    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    

0 个答案:

没有答案
相关问题