2012-07-03 32 views
10

Ben tanımlanır veritabanında bir tablo temsil eden bir sınıf var nereye çoklu kullanıma sahip Linq kullanarak: Ben oracle veritabanına karşı bazı arama sorgusu çalıştırmak istediğinizkoşullar

public class MyClass{ 
    public int MyClassId{get;set;} 
    public string Name{get;set;} 
    public string LastNamw{get;set;} 
    public DateTime From{get;set;} 
    public DateTime To{get;set;} 
} 

hangi günü.

Şimdi soru şudur:

var list = context.MyClass 
    .Where(x => x.From>= FromMyDate) 
    .Where(x => x.To <= ToMyDate); 


var list = context.MyClass 
    .Where(x => x.From>= FromMyDate && x.To <= ToMyDate); 

onunla birden fazla satır kullanmak daha mı nerede durum yoksa birini mi? Ve neden ... lütfen

Anladığım kadarıyla, ilk koşulun sonucu üzerinde arama yapmak istediğimde, birden çok yerde cümleleri kullanıyorum.

+2

bakınız [Uygun Linq burada maddeleri] (http://stackoverflow.com/a/6360037/1072626) – vossad01

cevap

7

O sadece Oracle Sağlayıcısı geçirilir bir İfade ağacı yaratıyor ve ortaya çıkan SQL sorgusu oluşturmak için sağlayıcının iştir

önemli olmamalı. İfade ağacı ikisi arasında biraz farklı olsa da, yine de aynı sql ile sonuçlanmalıdır. Ben linq sorgularım verimli sql üreten emin olmak için bir sql profiler kullanmak istiyorum.