RavenDB ile bir LINQ sorgusunda ToUpperInvariant()
kullanmaya çalışıyorum.RavenDB Linq Geçersiz İşlem .ToUpperInvariant()
(server.Name.ToUpperInvariant çevirmek nasıl anlayamıyorum): Ben bir InvalidOperationException alıyorum.
Sorgu aşağıda. Burada isimle eşleşebilmem için ne olması gerekiyor? RavenDB kullanarak bir sorgu içinde bu mümkün mü?
public ApplicationServer GetByName(string serverName)
{
return QuerySingleResultAndCacheEtag(session => session.Query<ApplicationServer>()
.Where(server => server.Name.ToUpperInvariant() == serverName.ToUpperInvariant()).FirstOrDefault())
as ApplicationServer;
}
protected static EntityBase QuerySingleResultAndCacheEtag(Func<IDocumentSession, EntityBase> func)
{
if (func == null) { throw new ArgumentNullException("func"); }
using (IDocumentSession session = Database.OpenSession())
{
EntityBase entity = func.Invoke(session);
if (entity == null) { return null; }
CacheEtag(entity, session);
return entity;
}
}
Tamam, havalı, büyük harfe dönüştürerek karşılaştırmaya çalışıyordum ve bu gerekli değildi. Dönüştürmeden çalıştım ve işe yaradı. Teşekkür ederim! –
Teşekkürler! Ben de aynı şeyi yapmaya çalışıyordum; Bunu hiç bilmiyordum. Hamuru. – Darryl
Karşılaştırma davranışı "programlama dili" de bekliyordu ve aynı soruna yol açtı. Sanırım, varsayılan olarak durumu görmezden gelmek için "Veritabanı gibi" karşılaştırması beklemeliydim. Teşekkürler! –