Я хочу обновить первичные ключи промежуточной таблицы. Этот пост предлагает взять еще один первичный ключ и не изменять его, но мы используем наши таблицы в других проектах, отличных от 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; }
}
UPDATE
Я опубликовал схему ниже, левая таблица используется для преобразования единиц. На самом деле это предложенный метод в этом ответе.
Я не могу придумать другого способа реализовать это. Должен ли я обновить мой дизайн таблицы или какой-то код EF выполнит эту работу. Любая помощь и решение приветствуются.:)