Исключение хранимых процедур Entity Framework - PullRequest
2 голосов
/ 11 июля 2011

У меня есть следующая модель Entity Framework:

Entities

Это очень простая модель, которая отлично работала, когда Entity Framework генерировал SQL. Когда я сопоставляю сущности хранимым процедурам, я получаю следующую ошибку при попытке создать LogEntry:

Невозможно определить действительный порядок для зависимых операций. Зависимости могут существовать из-за ограничений внешнего ключа, требований модели или сгенерированных в хранилище значений.

Код, который я использую для создания LogEntry, выглядит следующим образом:

le.DateAndTime = DateTime.Now;
le.User = (Guid)Membership.GetUser().ProviderUserKey;

Log log = lr.GetLog(le.LogId);
log.LogEntries.Add(le);

lr.Save(); // lr is an instance of LogsRepository, defined earlier in the class

Исключение не выдается, пока не будет вызван lr.Save().

Кто-нибудь может мне помочь расшифровать это? У меня есть хранимые процедуры, которые работают самостоятельно, независимо от структуры сущностей , сопоставленные с сущностями.

Ответы [ 2 ]

2 голосов
/ 11 июля 2011

Мне удалось выяснить, в чем причина ошибки.Взгляните на следующую настройку сопоставления:

Log Mapping

Как видите, у меня была привязка столбца результата из UpdateLog, проблема в том, что UpdateLog не возвращаетчто-нибудь.Я случайно вставил это в карту.После удаления привязки столбца результата все снова работает.

0 голосов
/ 11 июля 2011

Не похоже, что вы используете хранимую процедуру. Если вы добавили функцию импорта для процедуры, вы можете вызвать функцию импорта непосредственно в контексте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...