Я пользуюсь услугами WCF RIA. Я не использую юридические лица и прямые sql's.
В моем случае хранимые процедуры и сложные типы делают всю работу. Поэтому я столкнулся с такой проблемой:
Когда я использую процедуру хранилища для вставки строки, невозможно автоматически обновить ее идентификатор из базы данных. В случае использования entity и direct sql все идет хорошо.
Вот моя хранимая процедура:
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
insert into Product
(
[Name]
,[Note] )
values
(
@Name,
@Note
)
select SCOPE_IDENTITY() as ID
END
Единственный способ решить эту проблему - перезагрузить все данные, появляющиеся после вставки. Я думаю, что не стоит загружать все данные, когда необходимо обновить только одну строку. Второй подход - написать еще несколько. код для получения нового идентификатора вручную с SQL Server, но я считаю, что должен быть лучший подход.