從數據庫中提取數據時得到一個奇怪的結果。在一種情況下,我有一個日期時間字段,在數據庫中不是空的,並且有一個有效的日期。但是,當EF返回記錄時,它將返回null。EF實體結果在分區db中不爲空的列返回空值
如果我使用EF正在使用的相同的sql語句並在SSMS中運行它,它將返回正確的值。
我認爲這是因爲它已經緩存了該記錄並且正在返回緩存版本......這可能嗎?你如何強制它從數據庫刷新?
這裏是我的代碼,拉動記錄:
public override IQueryable<TimeDetail> SearchFor(Expression<Func<TimeDetail, bool>> predicate, Expression<Func<TimeDetail, bool>> orderbylinq = null, Expression<Func<TimeDetail, object>>[] includes = null)
{
var result = DbSet
.Include("Customer")
.Include("OrderHeader")
.Include("TimeDetailStatus")
.Include("TimeDetailTask.TimeDetailTaskType")
.Where(predicate);
if (orderbylinq != null)
{
result = result.OrderBy(orderbylinq);
}
return result;
}
嘗試調用'ToList()'方法來獲得,而不是使用IQueryable的形而下的結果。 – 2013-04-24 14:54:13