2012-03-06 141 views
0

我使用Connection.db.Single<Test>("select * from Test WHERE ID= " + id)的測試如下:錯誤消息:序列不包含任何元素

Assert.IsNull(Connection.db.Single<Test>("select * from Test WHERE ID= " + id)); 

我知道結果集應該是零,因爲是我傳遞的id值沒有行。然而,一個錯誤被觸發如下:

序列不包含任何元素和異常的詳細信息如下:System.InvalidOperationException了由用戶代碼 消息=序列不包含任何元素 源= System.Core程序 堆棧跟蹤未處理: 在System.Linq.Enumerable.Single [TSource](IEnumerable`1 source) at PetaPoco.Database.Single [T](String sql,Object [] args)in C:\ Dev \ Models \ PetaPoco.cs:line 1120

  1. 無法使用Single來測試null嗎?
  2. 是否有更好的方法來測試Asset.IsNUll?

回答

0

用途:

Assert.IsNull(Connection.db.SingleOrDefault<Test>("select * from Test WHERE ID= " + id)); 
0

使用任何()或FirstOrDefault,如:

if (context.Product.Any(x => x.ProductId == 1)) ... 
+0

我使用。任何(),但仍然得到錯誤(AttendantTrackingSD是一個布爾) :return chatUserRepository.Table.Where(c => c.AttendantTrackingSD).Any(); – 2012-10-04 13:44:23

相關問題