Dynamic Linq ライブラリに問題があります。「ParserException was unhandled by user code ')」または「,'」というエラーが表示されます。辞書があり、この辞書に基づいてクエリを作成したいので、辞書をループして文字列ビルダーに追加します。 "PersonId = (辞書からの GUID)。問題は、動的ライブラリがクラッシュしないように、文字列 GUID を GUID に変換できないように見える何らかの理由で PersonId に追加したことだと思います。
文字列GUIDをGUIDに変換するためにこれを試しましたが、うまくいきません。
query.Append("(PersonId = Guid(" + person.Key + ")");
query.Append("(PersonId = " + person.Key + ")");
VS 2010 RTM と RIA サービス、および Entity Framework 4 を使用しています。
//This is the loop I use
foreach (KeyValuePair<Guid, PersonDetails> person in personsDetails)
{
if ((person.Value as PersonDetails).IsExchangeChecked)
{
query.Append("(PersonId = Guid.Parse(" + person.Key + ")");
}
}
//Domain service call
var query = this.ObjectContext.Persons.Where(DynamicExpression.ParseLambda<Person, bool>(persons));
助けてください。これを行うためのより良い方法を知っている場合は、提案をお待ちしています。