Объекты TPT, полученные из базовых классов TPH в Entity Framework 6?
У меня есть проект, который использует базу данных EF6, сначала сопоставленную с базой данных SQL. Это все новое, поэтому я контролирую модель EF, а также схему базы данных.
У меня в настоящее время есть стол, который я назову Транспортным средством для простоты. Я использую столбец дискриминатора, чтобы получить подкласс Entity Car и Truck. Это все отлично работает.
Теперь мне нужно сделать "мягкое удаление" и переместить все удаленные автомобили в таблицу VehicleHistory. (После попытки этого w/ EF я вероятно буду использовать транзакцию SQL). Это должно быть рецензируемым, поэтому мне нужно также отобразить эту таблицу истории, но я бы хотел сохранить ее в иерархии наследования, чтобы ее можно было легко использовать в других классах.
Моя идея состояла в том, чтобы создать таблицы "VehicleCurrent" и "VehicleHistory" с FK для Vehicle для общих столбцов. Затем я использовал бы TPT в EF, чтобы получить 'carcurrent', 'carhistory', ect..., полученные из моих классов TPH (например, carhistory->car->vehicle). Это не работает, и я получаю сообщение об ошибке 3034: "Объекты с разными ключами отображаются в одной строке"
Так что мой вопрос в основном, как я могу это осуществить? Будет ли этот подход работать и как, или есть другой способ сделать это? Спасибо!