Я использую System.Linq.Dynamic для динамического запроса к источнику данных IQueryable с использованием предложения where в строковом формате. , так:
var result = source.Entities.Where("City = @0", new object[] { "London" });
Пример выше работает нормально. Но теперь я хочу запросить свойство внешнего ключа типа Guid следующим образом:
var result = source.Entities.Where("CompanyId = @0", new object[] { "838AD581-CEAB-4B44-850F-D05AB3D791AB" });
Это не сработает, потому что по умолчанию Guid нельзя сравнивать со строкой. И я должен предоставить guid в виде строки, потому что он изначально исходит из json-запроса, а json не поддерживает guid.
Во-первых, это вообще правильный способ запроса отношений или для этого есть другой синтаксис?
Во-вторых, как изменить Dynamic.cs из проекта Dynamic Linq для автоматического преобразования строки в guid, если сравниваемое свойство объекта имеет тип guid?
Guid.Parse
и передать guid - person Grundy   schedule 08.02.2014