私はこのエラーに関する多数の報告書を見直しましたが、私が見た解決策は私の状況では適用されない、またはうまくいかない(または私はそれらを機能させる方法を理解していませんか?私は躊躇なく答えを見つけるためにこれを投稿しています。LINQ to Entities:合計子の値
var symbolCover = DataModel.NCoverAnalysisDetail.Where(d => d.IsNew &&
d.NCoverAnalysis.BuildTime > FromNewDate).Sum(c => c.SymbolCoverage);
と、それは次の例外がスローされます:私はL2Eで、次の簡単なクエリを送信してい
マテリアライズド値がnullであるため、値タイプ「のInt32」へのキャストが失敗した。結果タイプの汎用パラメーターまたは照会のいずれかがNULL可能タイプを使用する必要があります。
テーブルにはNULL可能な列はなく、データベースに送信されるSQL(下を参照)は0(ゼロ)を返します。そのため、問題の内容はわかりません。
exec sp_executesql N'SELECT
[GroupBy1].[A1] AS [C1]
FROM (SELECT
SUM([Extent1].[SymbolCoverage]) AS [A1]
FROM [dbo].[NCoverAnalysisDetail] AS [Extent1]
INNER JOIN [dbo].[NCoverAnalysis] AS [Extent2] ON [Extent1].[NCoverAnalysisID] = [Extent2].[ID]
WHERE ([Extent1].[IsNew] = 1) AND ([Extent2].[BuildTime] > @p__linq__0)
) AS [GroupBy1]',N'@p__linq__0 datetime',@p__linq__0='2012-02-17 00:00:00'
http://stackoverflow.com/questions/2076827/linq-error-generic-parameter-or-the-query-must-use-a-nullable-typeの複製のように見えます。 intを使ってみてください。 symbolCoverの代わりにvarの代わりに? – AlanT