如何判断是否已使用ADO.NET保存给定对象?

时间:2010-09-19 17:10:40

标签: ado.net wcf-data-services odata azure-table-storage

如果我有一个新对象,那不是ADO.NET中的context.Saved(),除了另一个尚未保存的对象之外,我怎么能告诉它?

我将使用此信息来确定如何处理我的自定义自动增量功能。如果对象已保存到数据库,我将进行数据库服务器的往返。如果对象尚未保存,那么我将在本地执行自动增量。

因此,给定2个ADO.NET对象,如何判断它们是否已保存?

1 个答案:

答案 0 :(得分:0)

假设您正在使用WCF数据服务(以前称为ADO.NET数据服务): 在您的客户端中,您有一个从DataServiceContext派生的类的实例。在这个实例中,有一个GetEntityDescriptor方法,它将实体实例作为参数。它返回一个具有State属性的EntityDescriptor对象。如果该属性已添加,则表示尚未将新添加的对象保存到服务器。如果State属性处于任何其他状态,则表示该对象已被发送到服务器(假设您没有使用某些高级内容,如调用AttachTo)。