首页 > 数据库技术 > 详细

System.Data.Dbtype转换为System.Data.SqlDbType

时间:2014-06-27 12:57:37      阅读:749      评论:0      收藏:0      [点我收藏+]

最近在做一些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");

????????}

?

????}

?

}

System.Data.Dbtype转换为System.Data.SqlDbType,布布扣,bubuko.com

System.Data.Dbtype转换为System.Data.SqlDbType

原文:http://www.cnblogs.com/68681395/p/3810638.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!