我试图弄清楚如何获取 sql 语句:
select checksum_agg(checksum(*)) from Foo
从 linq 工作。只要我知道列名,我就可以获得单列的校验和:
SqlFunctions.ChecksumAggregate(Foo.Select(x => x.Id));
但是我希望能够在不知道名称的情况下对集合进行校验和,或者至少对列进行校验和。
我试图弄清楚如何获取 sql 语句:
select checksum_agg(checksum(*)) from Foo
从 linq 工作。只要我知道列名,我就可以获得单列的校验和:
SqlFunctions.ChecksumAggregate(Foo.Select(x => x.Id));
但是我希望能够在不知道名称的情况下对集合进行校验和,或者至少对列进行校验和。
SqlFunctions.ChecksumAggregate的查询是计算校验和的值的集合。空值被忽略。
例如,SqlFunctions.ChecksumAggregate(Foo.Select(x => x.Id));
将计算 Foo 表的每一行,对于所有非 Null 列,计算该字段的校验和Id
。
因此校验和将利用非 Null 列的所有信息。