Я использую ASP.NET Core 2.2 с EF Core 2.2 и сервером SQL.
В настоящее время я работаю над функцией, в которой у меня есть следующие классы:
TABLE Foo
-------------------------------------------------------------
Column Type Remark
--------------------------------------------------------------
Id GUID PK
IntroId GUID? Nullable FK
IntroText Content Navigation Property
--------------------------------------------------------------
TABLE Content
--------------------------------------------------------------
Column Type Remark
--------------------------------------------------------------
Id GUID PK
Text string
--------------------------------------------------------------
Этомоя свободная конфигурация API, связанная с моей проблемой:
Foo
builder.HasOne(b => b.IntroText)
.WithOne()
.IsRequired(false);
Контент
Контент имеет конфигурацию только для себя.
Содержимое может содержать много текста, и по ряду причин эти вещи не сохраняются непосредственно в таблице / классе Foo
.
Как видите, я пытаюсь убедиться, что Content
не имеет свойства внешнего ключа / навигации для Foo
.Это потому, что эти свойства не являются частью Content
и потому, что в будущем больше классов / таблиц могут иметь такие вещи, как IntroText , которые сохраняются в таблице Content
, и я не хочу Content
быть заполненным обнуляемыми внешними ключами / навигационными свойствами.
Возможно ли это с EF Core?
Ошибка, которую я получаю прямо сейчас:
Child /не может быть определена зависимая сторона для отношений «один к одному» между «Foo.IntroText» и «Content».Чтобы определить дочернюю / зависимую сторону отношения, настройте свойство внешнего ключа.Если эти переходы не должны быть частью одного и того же отношения, настройте их без указания обратного.См. http://go.microsoft.com/fwlink/?LinkId=724062 для получения более подробной информации.
Я бы принял ответ, который позволяет базе данных иметь отношения, которых я не вижу в своей кодовой базе, но я бы предпочел, чтобыContent
ничего не знает о Foo
Большое спасибо за помощь!