В настоящее время я использую базу данных SQL Server и должен подключать ее к ASP.Net с использованием Entity Framework. У меня в настоящее время нет внешних ключей в моей базе данных, смогу ли я все же поднять базу данных и запустить запросы LINQ с такими командами, как .Include()
?Как подделать базу данных SQL Server с помощью ASP.Net Entity Framework
Текущая проблема, с которой я сталкиваюсь, - это моя модель базы данных, хранящая исторические данные, поэтому у меня есть несколько таблиц с составными первичными ключами. Без этого отношения один к одному в базе данных я не могу запускать какие-либо запросы в отношении таких отношений, как метод .Include()
.
Так мои вопросы заключаются в следующем:
Должен ли я включать внешние ключи в базе данных SQL Server для того, чтобы использовать функции, такие как
.Include()
?Я прочитал онлайн, что самый простой способ включить отношение FK между основным составным ключом и одним ПК в базе данных SQL Server должен заключаться в создании фиктивных столбцов в таблицах, чтобы связать составной первичный ключ с таблицы внешнего ключа. Есть ли лучший способ создать отношения FK за пределами создания фиктивных столбцов или реструктуризации данных?
Ниже приведен пример того, как составной первичный ключ один первичный ключ выглядит:
ID*| CODE* | YEAR* | SEQ*| DATA
01 | ABCD | 2015 | 01 | 23
01 | ABCD | 2016 | 01 | 24
02 | ABCD | 2016 | 01 | 21
CODE* | DESC
ABCD | AlphabetSoup
- = таблица первичный ключ
Зависимый объект FK должен указывать на основной объект PK. В вашем примере таблица с составной PK является зависимой таблицей, поэтому нет никакой проблемы с установкой 'Table1.CODE' как FK-ассоциации с' Table2.CODE'. Связь будет много (таблица 1) к одной (таблица 2). –