错误消息:序列不包含任何元素

时间:2012-03-06 09:08:53

标签: petapoco

我正在使用Connection.db.Single<Test>("select * from Test WHERE ID= " + id)进行测试,如下所示:

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

我知道结果集应该为null,因为我传递的id值没有行。但是,会触发错误,如下所示:

Sequence不包含任何元素,异常详细信息如下:System.InvalidOperationException未被用户代码处理   Message = Sequence不包含任何元素   来源= System.Core程序   堆栈跟踪:        在System.Linq.Enumerable.Single [TSource](IEnumerable`1 source)        at PetaPoco.Database.Single [T](String sql,Object [] args)在C:\ Dev \ Models \ PetaPoco.cs:第1120行

  1. 我不能用Single来测试null吗?
  2. 有没有更好的方法来测试Asset.IsNUll?

2 个答案:

答案 0 :(得分:0)

使用Any()或FirstOrDefault,如:

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

答案 1 :(得分:0)

使用:

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