public void TestParamConvert()
        {
            var dc   = new DbTypeConverter();
            var type = typeof(Student);
            var ps   = TypeExtensions.GetProperties(type, BindingFlags.Instance | BindingFlags.Public)
                       .Where(i => i.CanRead).ToList();

            foreach (var item in _Students)
            {
                var ds = _Converter.GetConverter(type).Item1(item);
                Assert.Equal(ps.Count, ds.Count);
                for (int i = 0; i < ps.Count; i++)
                {
                    Assert.Equal(dc.Convert(ps[i].PropertyType), ds[i].DbType);
                    Assert.Equal(ParameterDirection.Input, ds[i].Direction);
                    Assert.True(ds[i].IsNullable);
                    Assert.Equal("@" + ps[i].Name, ds[i].ParameterName);
                    var value = ps[i].GetMethod.Invoke(item, new object[0]) ?? DBNull.Value;
                    Assert.Equal(value, ds[i].Value);
                }
            }
        }
 public static IDeleteQuery CreateDeleteQuery(string db)
 {
     return(CreateDeleteQuery(DbTypeConverter.Convert(db)));
 }
 public static IInsertQuery CreateInsertQuery(string db)
 {
     return(CreateInsertQuery(DbTypeConverter.Convert(db)));
 }
 public static ISelectQuery CreateSelectQuery(string db)
 {
     return(CreateSelectQuery(DbTypeConverter.Convert(db)));
 }