arama fonksiyonunda .. NTEXT alanlardaLinq: Bir harf duyarlı veritabanı ile SQL Server 2005 kullanıyorum
tolower() kullanarak, ben varlıkları için bir Linq oluşturmanız (L2E) sorgu bu kurallara veritabanındaki verilerle birkaç dizeleri karşılaştırmak bir "nerede" maddesi ile:
- karşılaştırma bir olan mod, sıkı değil karşılaştırmak "içerir": kolay dize en İçeriyor olarak() metodu izin verilir L2E
- Karşılaştırma, büyük/küçük harf duyarlı olmalıdır: Her iki öğede de Toes() öğesini duyarsız bir karşılaştırma yapmak için kullanıyorum.
Tüm bu Gerçekten iyi bir performans ama şu İstisna koştu: benim alanlardan birinde "değişken veri türü nmetin alt fonksiyonunun argümanı 1 için geçersiz".
Bu alanın bir NText alanı olduğu ve bunun üzerinde bir ToLower() gerçekleştiremediğim görülüyor.
Bu NText alanında bir büyük/küçük harfe duyarsız Contains() gerçekleştirebilmek için ne yapabilirim? Büyük/küçük harfe duyarlı olmayan bir karşılaştırma yapmak için hiçbir zaman .ToLower()
'u kullanmayın.
hum ... Seni tolower() kullanarak yanlış olduğunu söyle tahmin ama ben başka bir çözüm var: - harmanlama değiştirme sadece bazı arama kriterlerine için çok fazla iş ve risk - & startswith kazandı Eşittir Buraya ihtiyacım var. NText alanını NVarchar'a dönüştürmeyi ve kullanıcı girdisini sınırlamayı düşünüyorum ... Durumumda performans gerçekten önemli değil. –
Sadece seçeneklerin neler olduğunu anlatarak çalışıyorum, sizin için bazı ideal seçeneklerin var olduğunu iddia etmiyorum .... –