期望記錄集(> = 1條記錄)時,如何檢查0記錄情況?實體框架 - ToList()和0記錄
例如:
RivWorks.Model.FeedStoreReadOnly store = new RivWorks.Model.FeedStoreReadOnly(AppSettings.FeedAutosEntities_connString, AppSettings.FeedAutosEntities_metadata, AppSettings.FeedAutosEntities_providerName);
RivWorks.Model.NegotiationAutos.Entities _dbFeed = store.ReadOnlyEntities();
var companyDetails = from a in _dbFeed.ClientClientMap where a.CompanyID == CompanyId select a;
return companyDetails.ToList();
當它返回它是在ToList(),因爲沒有記錄是滿足WHERE子句示數出來。那麼,檢查0條記錄的正確方法是什麼?以及此時建議的回報是多少?
加入下面的答案基於關:
if (companyDetails.Count() > 0)
return companyDetails.ToList();
else
{
List<RivWorks.Model.NegotiationAutos.ClientClientMap> ret = new List<RivWorks.Model.NegotiationAutos.ClientClientMap>();
ret.Add(companyDetails.FirstOrDefault());
return ret;
}
還沒有測試,但該(邏輯)似乎工作。想知道是否有更簡單的方法。
注意:
我想通弄明白了。 SQL所運行的帳戶沒有被DBA授予正確的權限集。我們更改了新表/視圖上的所有GRANT語句,現在它正在工作。
儘管如此,我仍然不確定什麼是正確的答案。我努力創造一個空白(新)記錄並添加到列表中,這樣我們的球員接受列表有東西扶着顯示(爲編輯,如果沒有別的)...
你確定例外嗎?它不應該出錯,它應該返回一個包含0條記錄的列表。 – 2010-01-13 22:50:02
你得到的例外是什麼? – mxmissile 2010-01-13 22:50:54
在內部異常我得到「無效的對象名稱'dbo.ClientClientMap'」。我不理解這個錯誤,因爲我可以在模型中看到對象,並且可以很好地引用它。 – 2010-01-13 23:23:54