我正在重组数据库并创建MVC 5应用程序。有许多表被标准化但很少保持不变。在原始数据库表中,删除了少数行。表数据如下所示,
Id Column1
--------------------
1 Some value
2 Some value
4 Some value
8 Some value
9 Some value
现在我首先使用代码创建一个包含一些新数据库表和一些现有数据库表的新数据库。在我的实体模型中,我使用以下代码将字段标记为主键和标识,
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
现在,代码创建的表首先具有ID列的自动递增值。
Id Column1
--------------------
1 Some value
2 Some value
3 Some value
4 Some value
5 Some value
第一个表的记录数超过100.此表的ID列也用作另一个具有近1000条记录的表中的外键。我现在面临的问题是如何解释原始表ID和新创建的ID的差异。如果我尝试显式指定ID列的值,那么它会给出错误,我无法明确指定Identity列的值。我必须为两个表编写种子方法。什么是处理这种情况的正确方法?