ForeignKey для не PrimaryKey, но все еще уникален - PullRequest
0 голосов
/ 29 января 2019

У меня есть 2 класса, и я хочу иметь возможность создать ForeignKey для поля, которое не является первичным ключом класса

, мой BeerDispense должен указывать на моего Мастера с помощью int с полем с именем MacAdrInt

Таким образом, я указываю, чтобы поле MacAdrInt указывало на основной ключ моего мастера, но я хочу, чтобы оно указывало на MacAdrInt, возможно ли это или мне нужно сделать его основным ключом?

public class Master
{
    [Key]
    public long Id { get; set; }
    public string MacAdr { get; set; }       
    public long MacAdrInt { get; set; }
    ...      
}


public class BeerDispense
{
    public long Id { get; set; }
    [ForeignKey("MacAdrInt")]
    public Master Master { get; set; }
    ...
}

1 Ответ

0 голосов
/ 29 января 2019

я хочу, чтобы он указывал на MacAdrInt, это возможно или мне нужно сделать его моим первичным ключом?

В EF Core это возможно с помощью Alternate Keys .В EF6 вам необходимо настроить MacAdrInt как свойство Key.Это не обязательно должен быть первичный ключ real , но EF6 поддерживает только один ключ для каждой сущности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...