首先在实体框架代码中更新主键

时间:2015-04-27 09:14:19

标签: sql-server asp.net-mvc database entity-framework

我想更新中间表的主键。 This post建议使用另一个主键并且不要更改它,但我们在其他非EF项目中使用我们的表格,我没有设计它们而且我是无法改变它们。我还有其他选择吗?什么?甚至删除旧记录并插入新记录。我只是不知道如何检索旧值。

这是我的班级:

public class ZChangeUnits : User
{
    [Key]
    [Column(TypeName = "VARCHAR", Order = 0), StringLength(4)]
    public string CCode1 { get; set; }

    [ForeignKey("CCode1")]
    public virtual ZUnits ZUnits1 { get; set; }

    [Key]
    [Column(TypeName = "VARCHAR", Order = 1), StringLength(4)]
    public string CCode2 { get; set; }

    [ForeignKey("CCode2")]
    public virtual ZUnits ZUnits2 { get; set; }

    [Column(TypeName = "NUMERIC")]
    [DecimalPrecision(18, 5)]
    public decimal NZarib { get; set; }
}

更新

我已经发布了下面的架构,左表用于单位转换。这实际上是this answer中建议的方法。

我无法想到实现这一点的任何其他方式。我是否应该更新我的桌面设计或一些EF代码才能完成这项工作。欢迎任何帮助和解决方案。 :)

Table's relationships

0 个答案:

没有答案