internal virtual T Query <T>(object searchData, int maxResults, IDataModelCollectionMetadata collectionMetadata) where T : DataModelBase, new() { T model = new T(); var collection = model as IDataModelCollection; if (collection != null) { var items = new List <DataModelBase>(); if (!Query(typeof(T), searchData, items, maxResults, collection.ModelType)) { return(null); } foreach (var item in items) { collection.Add(item); } if (collectionMetadata.AreResultsReadOnly) { collection.MakeReadOnly(); } } return(model); }
internal override T Query <T>(object searchData, int maxResults, IDataModelCollectionMetadata collectionMetadata) { var model = new T(); if (!collectionMetadata.Query(model, maxResults, searchData, _database)) { return(null); } return(model); }