6
ToUpperInvariant()
をRavenDBのLINQクエリ内で使用しようとしています。RavenDB Linq操作が無効です.ToUpperInvariant()
は(server.Name.ToUpperInvariantを変換する方法を理解することはできません):私はInvalidOperationExceptionがを取得しています。
クエリは以下のとおりです。私はここで名前を一致させるために何が起こる必要がありますか?これはRavenDBを使用したクエリ内で可能ですか?
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;
}
}
私は大文字に変換して比較しようとしていましたが、それは必要でもありませんでした。私は変換せずに試してみたところ、うまくいきました。ありがとうございました! –
ありがとうございます!私は同じことをやろうとしていた。これについて全く知らなかった。 Doh。 – Darryl
"プログラミング言語のような"比較動作も期待していて、同じ問題が発生しました。私は、通常は大文字小文字を無視して "データベースのような"比較を期待していたはずです。ありがとう! –