公开包含更改跟踪的持久数据集
本文关键字:数据集 跟踪 包含更 | 更新日期: 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.