public T SelectOne(DBColumn column, object val) { var value = column.ParseValue(val); if (column.Index != null) { return(column.Index.SelectOne <T>(value)); } return(Select(column, CompareType.Equal, value).FirstOrDefault()); }
public async ValueTask <T> LoadByKeyAsync(object key, DBColumn column, DBLoadParam param = DBLoadParam.Load, IEnumerable <DBColumn> cols = null, DBTransaction transaction = null) { object val = column?.ParseValue(key); if (val == null || column == null) { return(null); } T row = SelectOne(column, key) as T; if (row == null && (param & DBLoadParam.Load) == DBLoadParam.Load) { row = await LoadItemAsync(val, column, param, cols, transaction); } return(row); }