2014-12-10 3 views
4

Я картирование объекта для вставки в хранимую процедуру, как это:Entity Framework 6 - Карта только один оператор для хранимой процедуры

modelBuilder 
    .Entity<Member>() 
    .MapToStoredProcedures(s => 
     s.Insert(u => u.HasName("stp_insert_member"))); 

Вкладыша отлично работает и передает все параметры хранимой процедуры при сохранении нового член.

Но что происходит, когда я пытаюсь обновить элемент (загружая объект из db по id, изменяя его свойства и снова сохраняя - что будет выдавать инструкцию update), я получаю исключение, потому что он ищет хранимую процедуру с именем Member_Update ,

Но для этого (и для удаления) я не хочу иметь хранимые процедуры. Я просто хочу выполнить хранимую процедуру для инструкции insert.

Можно ли сопоставить EF с хранимой процедурой только для действия вставки?

+0

https://entityframework.codeplex.com/wikipage?title=code%20first%20insert%2Fupdate%2Fdelete%20stored%20procedure%20mapping –

+0

@GertArnold так, другими словами - не возможно? – developer82

+0

Не так много места для устного перевода :). Я бы просто создал sp для добавления и удаления. –

ответ

1

К сожалению, это все или ничего.

Entity Framework - Documentation:

Вы не можете использовать смесь хранимых процедур и прямого доступа к таблице (или для иерархии сущностей) данного субъекта. Операции вставки, обновления и удаления должны использовать прямой доступ к таблице или хранимые процедуры.

Смежные вопросы