0
をゼロに参加LinqToEntityは、我々は2つのテーブルを持っているint型、文字列のチェックが
SELECT a.Title as ATitle,b.Title as BTitle FROM TableA a INNER JOIN TableB b ON CAST(a.ID as varchar(36))=b.RelatedObjectID
ここでは、LINQのを使用して、それを書いた方法は次のとおりです。
from a in TableA
join b in TableB on a.ID.ToString() equals b.RelatedObjectID
そしてここでは、私たちが得たものです:
SELECT a.Title as ATitle,b.Title as BTitle FROM TableA a INNER JOIN TableB b ON CAST(a.ID as varchar(36))=b.RelatedObjectID OR (a.ID IS NULL AND b.RelatedObjectID IS NULL)
TableAに多数のレコードがある場合、クエリの実行が非常に遅くなります。
何が起こっているのか、なぜnull値をチェックしているのか理解できません。
パフォーマンスの点で問題がある場合は、これを作成することをお勧めします。次に、達成したい正確なクエリを作成します。 – Valkyrie
使用しているエンティティフレームワークのバージョンは何ですか?それがEF 6ならば、 'ctx.Configuration.UseDatabaseNullSemantics = true;'を設定してみてください。 'ctx'はあなたのEFコンテキストインスタンスです。 – Evk
@Valkyriee実行時に構築されるクエリであるため、ストアドプロシージャを作成することはできません。 – Beatles1692