2011-12-17 9 views
2

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

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

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

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

Вы помогаете избавиться. Благодарю.

+0

Я не уверен, что вы подразумеваете под «передачей данных с клиента на обслуживание» - это звучит как утечка для меня. независимо от того, да, клиент должен знать PK объекта, который он хочет обновить. – Jason

+0

передать услугу datacontract от клиента к сервису. это нормально? – Jake

ответ

0

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

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

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

  • Нет связанных вопросов^_^