Читая эту статью,
http://weblogs.asp.net/manavi/archive/2010/12/28/inheritance-mapping-strategies-with-entity-framework-code-first-ctp5-part-2-table-per-type-tpt.aspx
и проводя простой тест самостоятельно, я чувствую, что база данных не очень безопасна (от целостности данных).
Я имею в виду, давайте возьмем пример на этой странице:
1 базовый класс и 2 подкласса: base = BillingDetail подклассы = CreditCards, BankAccounts
3 таблицы.BillingDetail имеет первичный ключ, который используется совместно с CreditCards, BankAccounts.
Скажем, из приложения мы создаем объект CreditCards и сохраняем его в базе данных.Мы получаем строку в BillingDetail + строку с тем же идентификатором в CreditCards.
Если мы затем перейдем в базу данных и вручную создадим строку в BankAccounts с тем же идентификатором, то теперь она также является сущностью BankAccounts в приложении..
Я имею в виду, что такое поведение .... неправильно?
(Не то чтобы меня это слишком беспокоило, но не лучше ли было бы вставить что-то вроде триггера или ограниченияв базе данных для обеспечения целостности?)