C#PropertyInfo类获取数据的DbType值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#PropertyInfo类获取数据的DbType值相关的知识,希望对你有一定的参考价值。
IEnumerable<PropertyInfo> properties = GetCreatedProperties<T>(t);
foreach (PropertyInfo p in properties)
string fieldName = GetFieldName(p);
DbType dbType =GetDbType(p.PropertyType.Name);;//这里应该如何实习GetDbType()方法
object value = p.GetValue(t, null);
db.AddInParameter(cmd, fieldName, dbType, value);
与c#中的类型没有对应关系,所以需要手动指定
GetDbType 应该是一个映射方法,将你获取到的属性值的类型转换为DbType类型
PS:你自己写一个简单的switch case 就可以了,你能用到的类型应该也不多
p.PropertyType.Name 这句已经获取到属性的类型名称了 参考技术A db.AddInParameter(cmd, fieldName, dbType, value); 方法中其中有一个重载方法是不需要类型的。如果你硬要类型的话,可以使用DbType.Object代替。
在。NET底层它是通过映射关系从变量类型转换到数据库的字段类型的追问
我看了一下,所有重载都要这个DbType,这个具体有什么用我是不太清楚。所以我不知道怎么获取它、、
以上是关于C#PropertyInfo类获取数据的DbType值的主要内容,如果未能解决你的问题,请参考以下文章
C#遍历类的属性 PropertyInfo.Attributes
我可以在不使用反射的情况下获取类中字段或属性的 PropertyInfo 吗?