Как обновить Entity через сервис WCF - PullRequest
2 голосов
/ 17 декабря 2011

Я заставил Entity Framework DbContext работать локально, подключаясь напрямую к базе данных SQL.

Теперь я пытаюсь поместить объект Entity Framework в Службу WCF. Служба WCF предоставляет собственный набор объектов уровня обслуживания (DataContracts), соответствующих базовым объектам. Клиент никогда не знает о базовом хранилище данных и сущностях.

  • Получить данные легко, просто LINQ to SQL и .ToList ();
  • Вставка новых объектов не так уж и плоха, передайте DataContract от клиента службе WCF через OperationContract, после чего WCF вызовет DbContext.Add (), DbContext.SaveChanges ();

Но как мне сделать обновление? Нужно ли мне сохранять ПК? Если да, то как обычно это сделать?

Ваша помощь оценена. Спасибо.

1 Ответ

0 голосов
/ 17 декабря 2011

Да, вам нужно хранить первичные ключи. Я положил их в клиент, стоящие перед объектами. Вы можете передать их обратно как часть объекта, когда клиент извлекает данные, чтобы они, в свою очередь, могли передать его вам при обновлении.

Если имя PK не совсем соответствует вашей абстракции, просто назовите его как-нибудь иначе, вашим службам просто нужно знать отображение.

...