LINQ to SQL, değerleri daima çıktıdaki sorgu parametrelerine dönüştürür. Örneğin:Oluşturulan sorgu için LINQ SQL için const inlining zorlamak için bir yolu var mı?
someTable.Where(n => n.Field == 5);
üretir: Bu belli sorgu optimizasyonu senaryolarına sorunlara neden olmaktadır
WHERE Field = @p0
. Oluşturulan SQL'de satırlara gömülecek değerleri zorlamak için bir yol var mı? Böylece, bu:
WHERE Field = 5
? LINQ'un varlıkları bir yol sağlar mı yoksa aynı davranır mı?
Bu "senaryolar" nedir? – ErikEJ
@ErikEJ, LINQ to SQL tarafından oluşturulan sorgularımdan birinde, parametre kullanılarak satır içi değerlerden 10 kat daha yavaşdır. Bu, sorgu iyileştiricilerinin nasıl çalıştığıyla ilgili mantıklıdır. Sorgumun kendisini optimize etmeyi değil, hiç bir amaca hizmet etmeyen "gereksiz parametre" sorununu çözmeye çalışıyorum. –
[Bu soru] (http://stackoverflow.com/q/510214/861716) bazı arka plan bilgileri verir. –