AccountNumberプロパティを使用してEFCodeFirstで定義されたCustomerエンティティがあります。AccountNumberを使用して1人の顧客を問題なく取得および更新できます。しかし、すべての顧客を取得すると、AccountNumberはしばらくの間古く、変更後に最終的に更新されます。データベースは常に正しいAccountNumber値を返します。
SQLServerのプロファイルを作成しましたが、すべての顧客を取得するための呼び出しがデータベースに到達し、最新の値が返されますが、DbContextからの応答で古いAccountNumberが返されます。したがって、EFCFが私のデータをキャッシュしているようです。
助けてください。
更新:コード例-
public IQueryable<Customer> GetCustomers()
{
return this.acmeDbContext.Customer
.Include(x => x.IpAddressRange)
;
}
public Customer GetCustomer(Guid id)
{
var Customer = this.acmeDbContext.Customer
.Include(x => x.Contacts)
.Include(x => x.IpAddressRange)
.OrderByDescending(x => x.Id)
.FirstOrDefault(x => x.CustomerId == id);
return Customer;
}
public void SaveCustomer(Customer Customer)
{
this.acmeDbContext.SaveChanges();
}