У меня есть сценарий, когда мне оптимально нужно отношение 1 к 1 между двумя объектами. Я могу сделать это с помощью EF, но конечный результат - это модель, в которой я не могу вставлять какие-либо данные, поскольку Entity Framework не знает, какой из них следует вставить первым. То же самое происходит, даже если я изменил отношение на 0..1 до 0..1.Структура сущности от 1 до 1?
Приведем пример. У меня есть объект Файл и объект FileData. Файл всегда должен иметь FileData и FileData всегда должны иметь ссылку на файл. Я не хочу, чтобы они находились в одной и той же сущности (таблице), поскольку FileData может стать довольно большой, и мне в основном нужны вещи из файла сущности.
Я хотел бы указать удаление на каскаде между ними так, чтобы, если я удалю файл, также связанный FileData будет удален.
Я хотел бы также, чтобы иметь возможность вставить их обоих в одной транзакции, так что я мог бы написать
new File { FileData = ...
Так что бы вы предпочли в качестве решения с Entity Framework? На данный момент я добавил отношение только к файлу. Таким образом, я могу отправить оба объекта в БД одним сохранением, но я не получаю удаление на каскаде, поскольку основная запись - это FileData, и этот каскад работает «неправильным образом» в моем случае использования.
Вы можете показать свой код модели? – Sampath
Является ли модель от базы данных опцией для вас? Если это так, было бы проще сделать соответствующие таблицы в базе данных, добавить индексы с соответствующими внешними ключами и, наконец, щелчком нескольких кнопок вы можете автоматически генерировать модели. –
Вы можете использовать этот проект github в качестве образца. Проверьте отношения File-FileData. В текущем состоянии этих отношений есть некоторые проблемы, но я хотел бы, чтобы это было тем, что я описываю здесь. https://github.com/antsim/EntityFrameworkTester –