2

私は WCF データ サービスを持っています。私のクライアントは WPF アプリです。

WCF データ サービスでサービス操作を行っています。そんな感じ

[WebGet]
public IQueryable<VSuppliersExtra> GetAllVSuppliers()
{
    List<VSuppliersExtra> lstVsup = new List<VSuppliersExtra>();
    // add some VSuppliersExtra entities to the list
    ........
    return lstVsup.AsQueryable<VSuppliersExtra>();            
}

私のクライアントでは、

oCollection = new ObservableCollection<VSuppliersExtra>(jp.CreateQuery<VSuppliersExtra>("GetAllVSuppliers"));
//Open a new window Change collection and update the changes in the DB
.......
//run the same query again
.......
oCollection = new ObservableCollection<VSuppliersExtra>(jp.CreateQuery<VSuppliersExtra>("GetAllVSuppliers"));

これで、すべて正常に動作しますが、サービス操作の 2 回目の呼び出しでは、アプリを再起動するまで、変更なしで常に同じ結果が得られます。
DB を確認し、すべての変更が SQL サーバーに保存され、サービスの関数を確認しましたが、更新されたデータが返されます... それでも、同じ結果セットが得られます!!!! クライアント側にキャッシングはありますか????

4

1 に答える 1

4

さて、私はいくつかの記事を見つけましたhttp://msdn.microsoft.com/en-us/library/gg602811.aspx
context.MergeOptions = MergeOption.OverwriteChanges; を追加しました。

それはトリックをしました。

ありがとうございました

于 2012-06-10T20:49:39.190 に答える