Предоставьте постоянный набор данных, который включает отслеживание изменений - PullRequest
3 голосов
/ 07 июня 2011

Я хочу предоставить сервисную операцию WCF, которая отправляет новые записи в базу данных.Каждый раз, когда вызывается операция, он должен возвращать объект DataSet, который включает в себя только строки, которые были добавлены в базу данных с момента последнего вызова операции.

Мой вопрос заключается в том, возможно ли это путем сериализации набора данныхмежду вызовами, а затем с помощью методов GetChanges () и AcceptChanges ().

Т.е. (псевдокод), * ​​1007 *

 [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(); 
 }

1 Ответ

0 голосов
/ 03 октября 2011

Попробуйте:

ds.GetChanges(DataRowState.Added)

Мое предложение: не сериализуйте наборы данных.Может быть, вы можете сохранить идентификатор последней вставленной записи.

С уважением, M.

...