示例#1
0
文件: DBTableT.cs 项目: radtek/datawf
        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());
        }
示例#2
0
        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);
        }