System.Data.Dbtype转换为System.Data.SqlDbType
最近在做一些OM Mapping的准备工作,新学了一招。
如果要将System.Data.Dbtype转换为System.Data.SqlDbType,以前以为要写Switch Case语句。其实有很简单的方法:
private System.Data.SqlDbType ConvertToSqlDbType(System.Data.DbType pSourceType)
{
SqlParameter paraConver = new SqlParameter();
paraConver.DbType = pSourceType ;
return paraConver.SqlDbType;
}
微软为你做好了转换。在SqlParameter 中你改变了其中一个就自动改变了另外一个。
你也可以做一个自动生成mapping的方法,你想怎么映射就怎么映射,同理也可以对应oracle的类型
[TestMethod]
public void BuildDbTypeToSqlDbType()
{
var dbTypeFields =
Enum.GetValues(typeof(DbType));
foreach (DbType dbTypeField in dbTypeFields)
{
SqlParameter p = new SqlParameter();
try
{
p.DbType = dbTypeField;
Console.WriteLine("DbType." + dbTypeField.ToString() + " =\t SqlDbType." + p.SqlDbType);
}
catch (Exception)
{
Console.WriteLine("// DbType." + dbTypeField.ToString() + " =\t unknown");
}
}
}
[TestMethod]
public void BuildSqlDbTypeToDbType()
{
var dbTypeFields =
Enum.GetValues(typeof(SqlDbType));
foreach (SqlDbType sqldbtype in dbTypeFields)
{
SqlParameter p = new SqlParameter();
try
{
p.SqlDbType = sqldbtype;
Console.WriteLine("SqlDbType." + sqldbtype + " =\t DbType." + p.DbType);
}
catch (Exception)
{
Console.WriteLine("// SqlDbType." + sqldbtype.ToString() + " =\t unknown");
}
}
}
最新文章
- 基于jquery的-获取短信验证码-倒计时
- GO语言练习:构建json 和 解析JSON 实例
- jdk 安装
- 关于程序路径Path.Combine以及AppDomain.CurrentDomain.BaseDirectory
- python datetime 时间日期处理小结
- 从unity3d官网下载教程
- poj 3126 Prime Path( bfs + 素数)
- 我在使用的Chrome插件
- Array类的Sort()方法
- HDU - 4135 Co-prime 容斥定理
- 打包时,node内存溢出问题解决方法
- Senparc.Weixin SDK 微信公众号 .NET 开发教程 索引
- gotty---用来作为k8s的web terminal,通过参数读取指定pod的日志输出
- Business.Startup.Learning from Startup Mistakes at SpringSource
- 设置tabBar、使用第三方插件和自定义组件使用简单实例
- 支持向量机通俗导论(理解SVM的三层境界)【非原创】
- storage路径问题
- JAVA中的内联函数
- jq02--基础函数
- HNOI/AHOI2018题解