Пример #1
0
        public IDbDataParameter[] GetParameters(DbManager db, object obj)
        {
            IDbDataParameter[] parameters = new IDbDataParameter[_parameters.Count];

            for (int i = 0; i < _parameters.Count; i++)
            {
                SqlQueryParameterInfo info = _parameters[i];

                //parameters[i] = db.Parameter(info.ParameterName, info.MemberMapper.GetValue(obj));

                MapMemberInfo mmi = info.MemberMapper.MapMemberInfo;
                object        val = info.MemberMapper.GetValue(obj);

                if (val == null && mmi.Nullable && mmi.NullValue == null)
                {
                    //replace value with DbNull
                    val = DBNull.Value;
                }

                if (mmi.IsDbTypeSet)
                {
                    parameters[i] = mmi.IsDbSizeSet
                                                ? db.Parameter(info.ParameterName, val, info.MemberMapper.DbType, mmi.DbSize)
                                                : db.Parameter(info.ParameterName, val, info.MemberMapper.DbType);
                }
                else
                {
                    parameters[i] = db.Parameter(info.ParameterName, val);
                }
            }

            return(parameters);
        }
Пример #2
0
                protected override MemberMapper CreateMemberMapper(MapMemberInfo mapMemberInfo)
                {
                    if (mapMemberInfo.Type == typeof(CustomString))
                    {
                        MemberMapper mm = new CustomString.Mapper();
                        mm.Init(mapMemberInfo);
                        return(mm);
                    }

                    return(base.CreateMemberMapper(mapMemberInfo));
                }
Пример #3
0
 public override void Init(MapMemberInfo mapMemberInfo)
 {
     mapMemberInfo.DbType = DbType.AnsiString;
     base.Init(mapMemberInfo);
 }