2

我让实体框架 DbContext 在本地工作,直接连接到 SQL 数据库。

现在我试图将实体框架的东西放在 WCF 服务后面。WCF 服务将公开其自己的一组与底层实体相对应的服务层对象 (DataContracts)。客户端永远不知道底层数据存储和实体。

  • 获取数据很简单,只需一个 LINQ to SQL 和 .ToList();
  • 插入新对象还不错,通过其 OperationContract 从客户端将 DataContract 传递给 WCF 服务,然后 WCF 将调用 DbContext.Add(), DbContext.SaveChanges();

但是我如何进行更新?我需要保留PK吗?如果是这样,通常的做法是什么?

你的帮助很感激。谢谢。

4

1 回答 1

0

是的,您需要保留主键。我把它们放在面向客户的对象中。当客户端检索数据时,您可以将它们作为对象的一部分传回,以便他们可以在更新时将其传回给您。

如果 PK 名称不适合您的抽象,只需将其命名为其他名称,您的服务只需要知道映射即可。

于 2011-12-17T17:39:11.207 回答