我正在使用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行
答案 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));