相关疑难解决方法(0)

使用Code Contracts和Linq To Sql时如何避免"source!= null"?

我使用正常数据上下文的代码如下:

var dc = new myDataContext();
Contract.Assume(dc.Cars!= null);
var cars = (from c in dc.Cars
            where c.Owner == 'Jim'
            select c).ToList();
Run Code Online (Sandbox Code Playgroud)

但是当我将过滤器转换为这样的扩展方法时:

var dc = new myDataContext();
Contract.Assume(dc.Cars!= null);
var cars = dc.Cars.WithOwner('Jim');

public static IQueryable<Car> WithOwner(this IQueryable<Car> cars, string owner)
{
    Contract.Requires(cars != null);
    return cars.Where(c => c.Owner == owner);
}
Run Code Online (Sandbox Code Playgroud)

我收到以下警告:

警告:CodeContracts:需要unproven:source!= null

code-contracts linq-to-sql

6
推荐指数
1
解决办法
781
查看次数

标签 统计

code-contracts ×1

linq-to-sql ×1