Добрый день!
В БД (MS SQL 2008 R2) имеется некий "интерфейсный" слой — набор вьюшек и хранимых процедур, к которым имеет доступ наше приложение. В нашем приложении мы строим модель на базе EF 4.1, которая использует вьюхи из БД. В этой модели есть 2 сущности, для которых реализовано наследование — базовая сущность Tag и дочерняя сущность FinancialGoal. На реляционном уровне — это 2 таблицы с отношением 1 к 1, на уровне вьюх также используется общий ключ TtrId. Согласно инструкциям от MS мы создали одну сущность на базе вьюхи vwTags, потом создали наследуемую сущность на базе второй вьюхи vwGoals, удалили из набора полей сущности FinancialGoal поле TtrId и поставили в маппинге сущности FinancialGoal ключ TtrId базовой сущности Tag. Далее мы замапили соответствующие процедуры на вставку\обновление\удаление сущностей Tag и FinancialGoal. При этом сущность Tag НЕ является абстрактной и весьма автономна. Как родительская, так и дочерняя сущность имеют связи с другими сущностями модели. Поле TtrId у сущности Tag имеет свойство StoreGeneratedPattern=Identity. Все работает хорошо за исключением момента, когда мы пытаемся добавить сущность FinancialGoal. В этом случае возникает ошибка "A dependent property in a ReferentialConstraint is mapped to a store-generated column. Column: 'TtrId'.". Текст ошибки понятен — нам говорят о том, что в ссылочной зависимости внешний ключ является "store-generated column" и им является поле TtrId. Проблема в том, что нигде в модели нет этого внешнего ключа TtrId со свойством "store-generated column". В сущности Tag поле TtrId обладает таким свойством, но оно есть primary key и не является foreign key ни для одной из сущностей. Многочасовое ковыряние в edmx-е результатов не дало.. гугление тоже

Есть подозрение, что ошибка возникает из-за каких-то особенностей реализации наследования в EF.. Но это только подозрение.

Заранее спасибо за помощь.