Внешний ключ Entity Framework 6 с использованием строк, а не исходного идентификатора моделиC#

Место общения программистов C#
Anonymous
Внешний ключ Entity Framework 6 с использованием строк, а не исходного идентификатора модели

Сообщение Anonymous »

У меня есть следующие (сокращенные) модели:

Код: Выделить всё

public class Item
{
public int id { get; set; }
public string itemId { get; set; }
... more properties ...
public virtual List Details { get; set;}
}

public class Detail
{
[Key]
public int id { get; set; }

public string itemId { get; set; }
... more properties ...

// Navigation property
[ForeignKey("itemId")]
public virtual Item Item { get; set; }
}
Если я использую itemId в качестве целого числа, он создаст FK, однако он свяжет Item.ID с Detail.itemId - я бы хотел, чтобы он связал Item.itemId с Detail.itemId
Я уверен, что мне чего-то не хватает в украшениях, однако кажется, что EF хочет всегда использовать значение по умолчанию ID.
Причина, по которой я хочу сделать это таким образом, заключается в том, что исходные данные связаны через строковый идентификатор, который я могу преобразовать в int, но остается ограничение: я бы предпочел, чтобы каждая таблица имела собственный PK, пока я не смогу убедиться, что исходные данные достаточно надежны.>

Вернуться в «C#»