Пример #1
0
        /// <summary>
        /// Set entity properties
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="entity"></param>
        public void SetEntity(IDataReader reader, T entity)
        {
            Expect.IsNotNull(reader, nameof(reader));
            Expect.IsNotNull(entity, nameof(entity));
            if (reader.FieldCount != _fieldReaders.Length)
            {
                throw ExceptionBuilder.Mapping(FrameworkStrings.ErrorFieldCountNotMatch, reader.FieldCount, _fieldReaders.Length);
            }

            for (int i = 0; i < _fieldReaders.Length; i++)
            {
                var fieldReader = _fieldReaders[i];
                var value       = ParamConverter.ToClrValue(reader[i], fieldReader.PropertyType);
                fieldReader.SetValue(entity, value);
            }
        }
 public void ToClrValue_Others_AsIs(object dbValue, Type targetType, object clrValue)
 {
     Assert.AreEqual(clrValue, ParamConverter.ToClrValue(dbValue, targetType));
 }
        public void ToClrValue_TargetIsNulltableEnum_SourceInt_ShouldReturn()
        {
            var dbValue = (int)FileMode.Create;

            Assert.AreEqual(FileMode.Create, ParamConverter.ToClrValue(dbValue, typeof(FileMode?)));
        }
 public void ToClrValue_TargetIsEnum_SourceNotInt_ShouldThrow()
 {
     Assert.Throws <NotSupportedException>(() =>
                                           ParamConverter.ToClrValue("abc", typeof(FileMode)));
 }
        public void ToClrValue_TargetIsEnum_ShouldConvertInt()
        {
            object dbValue = (int)FileMode.Create;

            Assert.AreEqual(FileMode.Create, ParamConverter.ToClrValue(dbValue, typeof(FileMode)));
        }
 public void ToClrValue_ParamDbNull_ShouldReturnNull()
 {
     Assert.IsNull(ParamConverter.ToClrValue(DBNull.Value, typeof(string)));
 }