公开包含更改跟踪的持久数据集

本文关键字:数据集 跟踪 包含更 | 更新日期: 2023-09-27 17:58:44

我想公开一个WCF服务操作,该操作在数据库中发送新的记录。每次调用该操作时,它都应返回一个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(); 
 }

公开包含更改跟踪的持久数据集

尝试:

ds.GetChanges(DataRowState.Added)

我的建议:不要序列化数据集。也许你可以保留你插入的最后一条记录的ID。

谨致问候,M.