我让 Entity Framework DbContext 在本地工作,直接连接到 SQL 数据库。
现在我正试图将 Entity Framework 的东西放在 WCF 服务后面。 WCF 服务将公开其自己的一组与底层实体对应的服务层对象 (DataContracts)。客户端永远不知道底层数据存储和实体。
- 获取数据很简单,只需一个 LINQ to SQL 和 .ToList();
- 插入新对象还不错,通过其 OperationContract 将 DataContract 从客户端传递到 WCF 服务,然后 WCF 将调用 DbContext.Add()、DbContext.SaveChanges();
但是我该如何更新呢?我需要保留 PK 吗?如果是这样,通常的做法是什么?
感谢您的帮助。谢谢。
最佳答案
是的,您需要保留主键。 我把它们放在面向客户的对象中。当客户端检索数据时,您可以将它们作为对象的一部分传回,以便他们可以在更新时将数据传回给您。
如果 PK 名称并不真正适合您的抽象,只需将其命名为其他名称,您的服务只需要知道映射即可。
关于c# - 如何通过 WCF 服务更新实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8546363/