NoRM
NoRM copied to clipboard
Resolve the Generic Linq query when first generic parameter is not a complex object
Steps to reproduce:
class Reference<TKey, TType>{ public TKey ID{get;set;} public string Type { get {return typeof(TType).Name;} set{ } } }
class User{ int ID{get;set;} string Name{get;set;} Reference<string, Language> Language{ get; set; } }
var conn = mongo.Connect(); var listResult = from x in conn.FindAll() where x.Language.ID == "en-us" select x;
var result = listResult.Any(); // an error is thrown in this moment (sequence does not contains any element)
The error is raised by de Visitors of MongoQueryTranslator.
Workaround (if not patched this commit into): Change Reference<string, Language> to Reference<Language, string> and change behaviors of the application.