public virtual object[] GetProperties(string[] properties, string idName, object idValue) { var hql = "SELECT "; foreach (var p in properties) { if (!String.IsNullOrEmpty(p)) { hql += String.Format("t.{0}, ", p); } } // Replace the trailing comma and space with just a space hql = hql.TrimEnd(", ".ToCharArray()); hql += " "; // Now add the FROM and WHERE clauses hql += String.Format("FROM {0} t ", typeof(T).FullName); hql += String.Format("WHERE t.{0} = ?", idName); var query = IsStatelessSession ? StatelessSession.CreateQuery(hql) : Session.CreateQuery(hql); return(query .SetParameter(0, idValue) .List <object>() .ToArray()); }
public virtual T GetByProperty(string property, object value) { var hql = new StringBuilder(); hql.Append(String.Format("FROM {0} t ", typeof(T).FullName)); hql.Append(String.Format("WHERE t.{0} = ?", property)); var query = IsStatelessSession ? StatelessSession.CreateQuery(hql.ToString()) : Session.CreateQuery(hql.ToString()); return(query .SetParameter(0, value) .UniqueResult <T>()); }