2 つのテーブル間で linq を sql サーバーに書き込む必要があります。関連するフィールドは異なる型です。1 つは string(nvarchar) で、もう 1 つは int です。
ここに私のlinqがあります:
from je in a
join vP in b
on je.BaseRef equals SqlFunctions.StringConvert((decimal) vP.DocEntry)
SQLでのlinqの結果は次のとおりです。
SELECT
[Extent1].[Account] AS [Account]
FROM [dbo].[a] AS [Extent1]
JOIN [dbo].[b] AS [Extent2] ON ([Extent1].[BaseRef] = (STR( CAST( [Extent2].[DocEntry] AS float)))) OR (([Extent1].[BaseRef] IS NULL) AND (STR( CAST( [Extent2].[DocEntry] AS float)) IS NULL))
SQLはvarcharとnvarcharを比較できないため、そのクエリはnullを返します。linq to entity は に変換され、 に変換sqlfunction.stringFormat
されstr('')
ませんconvert(nvarchar,'')
。nvarchar に変換するにはどうすればよいですか?