Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Dapper
提交
593e2b63
D
Dapper
项目概览
int
/
Dapper
11 个月 前同步成功
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Dapper
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
593e2b63
编写于
5月 02, 2011
作者:
S
simon.cropp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use runtimetypehandle instead of type
http://blogs.msdn.com/b/vancem/archive/2006/10/01/779503.aspx
上级
973dde61
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
37 addition
and
37 deletion
+37
-37
Dapper/SqlMapper.cs
Dapper/SqlMapper.cs
+37
-37
未找到文件。
Dapper/SqlMapper.cs
浏览文件 @
593e2b63
...
...
@@ -26,51 +26,51 @@ class CacheInfo
}
static
readonly
ConcurrentDictionary
<
Identity
,
CacheInfo
>
queryCache
=
new
ConcurrentDictionary
<
Identity
,
CacheInfo
>();
static
readonly
Dictionary
<
Typ
e
,
DbType
>
typeMap
;
static
readonly
Dictionary
<
RuntimeTypeHandl
e
,
DbType
>
typeMap
;
static
SqlMapper
()
{
typeMap
=
new
Dictionary
<
Typ
e
,
DbType
>();
typeMap
[
typeof
(
byte
)]
=
DbType
.
Byte
;
typeMap
[
typeof
(
sbyte
)]
=
DbType
.
SByte
;
typeMap
[
typeof
(
short
)]
=
DbType
.
Int16
;
typeMap
[
typeof
(
ushort
)]
=
DbType
.
UInt16
;
typeMap
[
typeof
(
int
)]
=
DbType
.
Int32
;
typeMap
[
typeof
(
uint
)]
=
DbType
.
UInt32
;
typeMap
[
typeof
(
long
)]
=
DbType
.
Int64
;
typeMap
[
typeof
(
ulong
)]
=
DbType
.
UInt64
;
typeMap
[
typeof
(
float
)]
=
DbType
.
Single
;
typeMap
[
typeof
(
double
)]
=
DbType
.
Double
;
typeMap
[
typeof
(
decimal
)]
=
DbType
.
Decimal
;
typeMap
[
typeof
(
bool
)]
=
DbType
.
Boolean
;
typeMap
[
typeof
(
string
)]
=
DbType
.
String
;
typeMap
[
typeof
(
char
)]
=
DbType
.
StringFixedLength
;
typeMap
[
typeof
(
Guid
)]
=
DbType
.
Guid
;
typeMap
[
typeof
(
DateTime
)]
=
DbType
.
DateTime
;
typeMap
[
typeof
(
DateTimeOffset
)]
=
DbType
.
DateTimeOffset
;
typeMap
[
typeof
(
byte
[])]
=
DbType
.
Binary
;
typeMap
[
typeof
(
byte
?)]
=
DbType
.
Byte
;
typeMap
[
typeof
(
sbyte
?)]
=
DbType
.
SByte
;
typeMap
[
typeof
(
short
?)]
=
DbType
.
Int16
;
typeMap
[
typeof
(
ushort
?)]
=
DbType
.
UInt16
;
typeMap
[
typeof
(
int
?)]
=
DbType
.
Int32
;
typeMap
[
typeof
(
uint
?)]
=
DbType
.
UInt32
;
typeMap
[
typeof
(
long
?)]
=
DbType
.
Int64
;
typeMap
[
typeof
(
ulong
?)]
=
DbType
.
UInt64
;
typeMap
[
typeof
(
float
?)]
=
DbType
.
Single
;
typeMap
[
typeof
(
double
?)]
=
DbType
.
Double
;
typeMap
[
typeof
(
decimal
?)]
=
DbType
.
Decimal
;
typeMap
[
typeof
(
bool
?)]
=
DbType
.
Boolean
;
typeMap
[
typeof
(
char
?)]
=
DbType
.
StringFixedLength
;
typeMap
[
typeof
(
Guid
?)]
=
DbType
.
Guid
;
typeMap
[
typeof
(
DateTime
?)]
=
DbType
.
DateTime
;
typeMap
[
typeof
(
DateTimeOffset
?)]
=
DbType
.
DateTimeOffset
;
typeMap
=
new
Dictionary
<
RuntimeTypeHandl
e
,
DbType
>();
typeMap
[
typeof
(
byte
)
.
TypeHandle
]
=
DbType
.
Byte
;
typeMap
[
typeof
(
sbyte
)
.
TypeHandle
]
=
DbType
.
SByte
;
typeMap
[
typeof
(
short
)
.
TypeHandle
]
=
DbType
.
Int16
;
typeMap
[
typeof
(
ushort
)
.
TypeHandle
]
=
DbType
.
UInt16
;
typeMap
[
typeof
(
int
)
.
TypeHandle
]
=
DbType
.
Int32
;
typeMap
[
typeof
(
uint
)
.
TypeHandle
]
=
DbType
.
UInt32
;
typeMap
[
typeof
(
long
)
.
TypeHandle
]
=
DbType
.
Int64
;
typeMap
[
typeof
(
ulong
)
.
TypeHandle
]
=
DbType
.
UInt64
;
typeMap
[
typeof
(
float
)
.
TypeHandle
]
=
DbType
.
Single
;
typeMap
[
typeof
(
double
)
.
TypeHandle
]
=
DbType
.
Double
;
typeMap
[
typeof
(
decimal
)
.
TypeHandle
]
=
DbType
.
Decimal
;
typeMap
[
typeof
(
bool
)
.
TypeHandle
]
=
DbType
.
Boolean
;
typeMap
[
typeof
(
string
)
.
TypeHandle
]
=
DbType
.
String
;
typeMap
[
typeof
(
char
)
.
TypeHandle
]
=
DbType
.
StringFixedLength
;
typeMap
[
typeof
(
Guid
)
.
TypeHandle
]
=
DbType
.
Guid
;
typeMap
[
typeof
(
DateTime
)
.
TypeHandle
]
=
DbType
.
DateTime
;
typeMap
[
typeof
(
DateTimeOffset
)
.
TypeHandle
]
=
DbType
.
DateTimeOffset
;
typeMap
[
typeof
(
byte
[])
.
TypeHandle
]
=
DbType
.
Binary
;
typeMap
[
typeof
(
byte
?)
.
TypeHandle
]
=
DbType
.
Byte
;
typeMap
[
typeof
(
sbyte
?)
.
TypeHandle
]
=
DbType
.
SByte
;
typeMap
[
typeof
(
short
?)
.
TypeHandle
]
=
DbType
.
Int16
;
typeMap
[
typeof
(
ushort
?)
.
TypeHandle
]
=
DbType
.
UInt16
;
typeMap
[
typeof
(
int
?)
.
TypeHandle
]
=
DbType
.
Int32
;
typeMap
[
typeof
(
uint
?)
.
TypeHandle
]
=
DbType
.
UInt32
;
typeMap
[
typeof
(
long
?)
.
TypeHandle
]
=
DbType
.
Int64
;
typeMap
[
typeof
(
ulong
?)
.
TypeHandle
]
=
DbType
.
UInt64
;
typeMap
[
typeof
(
float
?)
.
TypeHandle
]
=
DbType
.
Single
;
typeMap
[
typeof
(
double
?)
.
TypeHandle
]
=
DbType
.
Double
;
typeMap
[
typeof
(
decimal
?)
.
TypeHandle
]
=
DbType
.
Decimal
;
typeMap
[
typeof
(
bool
?)
.
TypeHandle
]
=
DbType
.
Boolean
;
typeMap
[
typeof
(
char
?)
.
TypeHandle
]
=
DbType
.
StringFixedLength
;
typeMap
[
typeof
(
Guid
?)
.
TypeHandle
]
=
DbType
.
Guid
;
typeMap
[
typeof
(
DateTime
?)
.
TypeHandle
]
=
DbType
.
DateTime
;
typeMap
[
typeof
(
DateTimeOffset
?)
.
TypeHandle
]
=
DbType
.
DateTimeOffset
;
}
private
static
DbType
LookupDbType
(
Type
type
)
{
DbType
dbType
;
if
(
typeMap
.
TryGetValue
(
type
,
out
dbType
))
if
(
typeMap
.
TryGetValue
(
type
.
TypeHandle
,
out
dbType
))
{
return
dbType
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录