Ejemplo n.º 1
0
        public static T Select <T>(this DbAccessor db, object objIdParameters)
        {
            var         tableMapping = new TableMapping(typeof(T));
            ISqlBuilder sqlBuilder   = new DefaultSqlBuilder(tableMapping);

            #region 处理参数为基础类型,即直接为主键的值
            if (objIdParameters.GetType() == typeof(string) || objIdParameters.GetType().GetTypeInfo().IsPrimitive)
            {
                var dicParam = new Dictionary <string, object>();

                var keyColumns = tableMapping.GetKeyColumns();

                if (keyColumns.Count == 0)
                {
                    throw new Exceptions.EntityException("实体没有设置主键!");
                }

                string keyColumnName = keyColumns[0].ColumnName;

                dicParam.Add(keyColumnName, objIdParameters);
                objIdParameters = dicParam;
            }
            #endregion

            return(db.QueryEntity <T>(sqlBuilder.BuildSelect(), objIdParameters));
        }
Ejemplo n.º 2
0
        public static T Select <T>(this DbAccessor db, object objIdParameters)
        {
            ISqlBuilder sqlBuilder = new DefaultSqlBuilder(new TableMapping(typeof(T)));

            return(db.QueryEntity <T>(sqlBuilder.BuildSelect(), objIdParameters));
        }