示例#1
0
 public object GetKeyValue(Field key)
 {
     Object value;
     return originalKeyValues.TryGetValue(key, out value)
                ? value
                : key.GetValue(Entity);
 }
        public void SetValue(DbParameter param, Field field, Object value)
        {
            var date = value as DateTime?;

            param.Value = (date == null || date.Value.Year == 1)
                              ? DBNull.Value
                              : (Object) date.Value;
        }
示例#3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SqlQueryBuilder" /> class.
        /// </summary>
        /// <param name="field">The field that should return a query.</param>
        public SqlQueryBuilder(Field field)
        {
            _Field = field;
            _Parameters = new List<Parameter>();

            Type ienumType = field.FieldType.GetGenericArguments().FirstOrDefault();

            _Table = Engine.GetTable(ienumType);
        }
        public void SetValue(DbParameter param, Field field, Object value)
        {
            var bytes = value as Byte[];

            param.Value = bytes;

            if (bytes != null) return;

            param.Value = new Byte[] {};
            DbType type = param.DbType;
            param.Value = DBNull.Value;
            param.DbType = type;
        }
        public void SetValue(DbParameter param, Field field, Object value)
        {
            object foreignEntity = value;

            if (foreignEntity == null)
            {
                param.Value = DBNull.Value;
            }
            else
            {
                Field foreignKey = foreignEntity.GetTable().KeyFields
                    .FirstOrDefault(key =>
                                    key.FieldName.Equals(field.BindedTo, StringComparison.InvariantCultureIgnoreCase) ||
                                    key.FieldName.Equals(field.FieldName, StringComparison.InvariantCultureIgnoreCase));

                param.SetValue(foreignKey, foreignEntity);
            }
        }
 public UnableToSetParameterValueException(Exception ex, string tableName, Field field, object value)
     : base(ex, "Unable to set the field [{1}] of [{0}] with the value [{2}].", tableName, field.FieldName, value)
 {
 }
示例#7
0
 public void SetValue(DbParameter param, Field field, Object value)
 {
     param.Value = value ?? DBNull.Value;
 }
示例#8
0
 public void Add(Field key, object value)
 {
     originalKeyValues[key] = value;
 }
示例#9
0
 /// <summary>
 /// Adds the condition.
 /// </summary>
 /// <param name="field">The field.</param>
 /// <param name="value">The value.</param>
 /// <returns></returns>
 public ISqlQueryBuilder AddCondition(Field field, Object value)
 {
     _Parameters.Add(new Parameter(field, "p" + _Parameters.Count, value));
     return this;
 }
示例#10
0
 private static Field SetCommunSettings(Field field, PropertyInfo info)
 {
     field.IsCollection = info.PropertyType.IsGenericType;
     field.BindedTo = GetBindedTo(info);
     field.IsRequired = (field.IsKey && !field.IsIdentity) || info.GetAttribute<DbRequiredAttribute>() != null;
     return field;
 }
示例#11
0
文件: Key.cs 项目: stalinvr007/VoDB
 public Key(Field field, string paramName)
 {
     ParamName = paramName;
     Field = field;
 }
示例#12
0
 public Parameter(Field field, string paramName, Object value)
     : base(field, paramName)
 {
     Value = value;
 }