public TEntity Single <TEntity>(object key) where TEntity : class, new() { var keyName = _keys.GetKeyName <TEntity>(); var entity = _db.Single <TEntity>(string.Format("WHERE [{0}] = @0", keyName), key); return(entity); }
public TEntity Single<TEntity>(object key) where TEntity : class, new() { var keyName = _keys.GetKeyName<TEntity>(); TEntity entity = null; // Custom query that traverses multiple tables for the Config settings due to the model schema if (typeof(TEntity).Equals(typeof(Config))) { entity = _db.Query<TEntity, Config.CloudConfig, Config.ContactFormConfig, Config.DisqusConfig>( string.Format(@"SELECT Config.*, Cloud.*, ContactForm.*, Disqus.* FROM Config INNER JOIN Cloud ON Config.CloudId = Cloud.Id INNER JOIN ContactForm ON Config.ContactFormId = ContactForm.Id INNER JOIN Disqus ON Config.DisqusId = Disqus.Id WHERE [{0}] = @0", keyName), key).SingleOrDefault(); } else { entity = _db.Single<TEntity>(string.Format("WHERE [{0}] = @0", keyName), key); } return entity; }