/// <summary> /// 失败返回null /// </summary> public override T Select <T>(DbSession session, SelectBuilder selectBuilder) { if (selectBuilder == null) { throw new NotImplementedException("缺少有效的" + nameof(SelectBuilder)); } T result = new T(); DbCommand command = session.CreateCommand(); command.CommandText = selectBuilder.ToQueryString(session, new T().TableName); selectBuilder.AddParameter(command, session); WriteQueryLog(command, session); using (var reader = session.ExecuteDataReader(command)) { if (reader.Read()) { var fields = selectBuilder.ComponentSelect.GetSelectFields(); if (fields.Count() == 0) { result.Init(reader); } else { result.Init(reader, fields); } return(result); } else { return(null); } } }
/// <summary> /// 未查询到数据时返回 null /// </summary> public override string SelectAsString <T>(DbSession session, SelectBuilder selectBuilder) { if (selectBuilder == null) { throw new NotImplementedException("缺少有效的" + nameof(SelectBuilder)); } DbCommand command = session.CreateCommand(); command.CommandText = selectBuilder.ToQueryString(session, new T().TableName); selectBuilder.AddParameter(command, session); WriteQueryLog(command, session); var data = session.ExecuteScalar(command); if (data != null) { return(data.ToString()); } else { return(null); } }
/// <summary> /// 未查询到数据时返回 null /// </summary> public override DateTime?SelectAsDateTime <T>(SelectBuilder selectBuilder) { if (selectBuilder == null) { throw new NotImplementedException("缺少有效的" + nameof(SelectBuilder)); } DbCommand command = Session.CreateCommand(); command.CommandText = selectBuilder.ToQueryString(Session, new T().TableName); selectBuilder.AddParameter(command, Session); WriteQueryLog(command, Session); var data = Session.ExecuteScalar(command); DateTime result; if (data != null && DateTime.TryParse(data.ToString(), out result)) { return(result); } else { return(null); } }