2013-07-30 62 views
0

的,我試圖找出如何獲得SQL語句:sqlfunctions.checksum LINQ對象

select checksum_agg(checksum(*)) from Foo

從LINQ工作。我可以得到一個列的校驗和,只要我知道的列名:

SqlFunctions.ChecksumAggregate(Foo.Select(x => x.Id));

但我想要麼能夠校驗集合或至少校驗和列分別不知道姓名(或名稱)。

回答

0

查詢SqlFunctions.ChecksumAggregate需要的是計算校驗和的值的集合。空值被忽略。

例如,SqlFunctions.ChecksumAggregate(Foo.Select(x => x.Id));將計算表foo的每一行,爲所有非空列,計算校驗和超過Id字段。

所以校驗和將利用非空列的所有信息。

+0

我不認爲這是正確的。參數是'IEnumerable >',select語句的結果是獲取校驗和的結果。它不計算Foo中所有列的校驗和,它獲取select語句中返回的id的枚舉值的校驗和。 – loctrice