3
我想公开一个WCF服务操作,该操作会在数据库中发送新记录。每次调用该操作时,都应该返回一个DataSet对象,该对象只包含自上次操作被调用以来已添加到数据库的行。公开包含更改跟踪的持久数据集
我的问题是这是否可能通过序列化DataSet之间的调用,然后使用GetChanges()和AcceptChanges()方法。
IE(伪),
[OperationContract]
public DataSet GetDataSet()
{
DataSet ds = LoadDataSet(); // load a dataset from saved xml or binary
DataSet newDs = GetRecordsFromDatabase(); // load dataset from database
ds.Merge(newDs, true); // somehow recognize which records in the newDs
// load are new?
return ds.GetChanges();
}
如果您可以识别请求数据集的用户。您可以为每个用户存储数据集中的记录数量。然后,您可以使用计数选择之后添加的所有记录。这仅在数据集被排序时才有效。 – albertjan 2011-06-07 07:20:51
是的我正在做这样的事情,使用存储每个实体/数据库视图的最新条目的LIFO栈。只是想知道这种持久数据集概念是否可行。 – 2011-06-07 18:06:12