SERİ GİBİ operatör | Netgez.com
SORU
21 Mart 2011, PAZARTESÄ°


SERİ GİBİ operatör

# ETMENİZ C ifadesi 3 ** operatör SQL benzer dizeleri karşılaştırmak için herhangi bir yolu var mı?

Dize bir listesi var varsayalım. Bu listedeki bir dize aramak istiyorum. SQL yazabilirim:

SELECT * FROM DischargePort WHERE PortName LIKE 'ºLTIMORE%'

Yukarıdakilerin yerine, sorgu seri bir sözdizimi.

using System.Text.RegularExpressions;
…

var regex = new Regex(sDischargePort, RegexOptions.IgnoreCase);
var sPortCode = Database.DischargePorts
                .Where(p => regex.IsMatch(p.PortName))
                .Single().PortCode;

Yukarıda ETMENİZ benim sözdizimi çalışmıyor. Yanlış bir şey var mı?

CEVAP
21 Mart 2011, PAZARTESÄ°


Genellikle*/ContainsString.StartsWith/*7 kullanın. Örneğin:

var portCode = Database.DischargePorts
                       .Where(p => p.PortName.Contains("BALTIMORE"))
                       .Single()
                       .PortCode;

Eğer SERİ) uygun düzenli ifadeler olsa SQL yapmanın bir yolu varsa bilmiyorum. (Not Bu gerçekten bağlıdır hangi sağlayıcıyı kullanıyorsun - ince ETMENİZ için Nesneleri; mesele olup olmadığını sağlayıcı dönüştürebilirsiniz çağrısı onun yerli sorgu biçimi, örneğin SQL.)

Olarak BitKFu diyor beklediğiniz zaman kullanılmalıdır . EDİT: ^em>tam birbu böyle olmadığı için bir hata olduğunda sonucu. SingleOrDefault, FirstOrDefault First seçeneklere bağlı olarak kullanılmalıdırtam olarakbeklenen de buydu.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • CareyHolzman

    CareyHolzman

    24 Ocak 2008
  • Joseph Hayhoe

    Joseph Hayho

    20 Mayıs 2010
  • TechBalance

    TechBalance

    12 HAZÄ°RAN 2011