Невозможно заставить отношения работать должным образом в Entity Framework Code First - PullRequest
0 голосов
/ 29 октября 2019

У меня есть 2 таблицы, это отношение 1-1

Table1

Table1Id(primarykey)
Table2Id(foreign key)
Colum1
Column2

Table2

Table2Id(primarykey)
Colum1
Column2

Я хочу сначала установить это в рабочем коде фрейма сущности, используя аннотации данных или свободный API

Я пробовал несколько способов, но всегда получаю ошибку вставки внешнего ключа при попытке вставить одну сущность table2потому что нет ссылки на таблицу 1 или она создает таблицу мостов, которая не нужна

Оба первичных ключа таблицы также требуют identitySpec и являются целыми числами

Какие свойства в модели должны быть украшены какимиатрибуты или свободные лямбда-выражения API?

1 Ответ

0 голосов
/ 30 октября 2019

Если я хорошо понимаю, вы хотите сделать отношения 1 к 1, верно? Таким образом, один из способов сделать это может быть:

public class Table1
{
    [Key]
    public int Table1Id { get; set; }
    public string Column1 { get; set; }
    public string Column2 { get; set; }
    public virtual Table2 Table2 { get; set; }
}

public class Table2
{
    [ForeignKey("Table1")]
    public int Table2Id { get; set; }
    public string Column1{ get; set; }
    public string Column2{ get; set; }
    public virtual Table1 Table1 { get; set; }
}

Вы должны учитывать, что в отношении один к одному первичный ключ от первого объекта - это первичный ключ и внешний ключ (в то же времявремя) второго.

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