Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Dapper
提交
959b99e1
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,发现更多精彩内容 >>
提交
959b99e1
编写于
4月 26, 2011
作者:
S
Sam Saffron
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Paul Bartrum fix for inherited class deserialization
上级
aa601bff
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
28 addition
and
1 deletion
+28
-1
Dapper/SqlMapper.cs
Dapper/SqlMapper.cs
+6
-1
Tests/Tests.cs
Tests/Tests.cs
+22
-0
未找到文件。
Dapper/SqlMapper.cs
浏览文件 @
959b99e1
...
...
@@ -556,7 +556,12 @@ private static object GetStructDeserializer<T>(IDataReader reader)
var
properties
=
typeof
(
T
)
.
GetProperties
(
BindingFlags
.
Public
|
BindingFlags
.
NonPublic
|
BindingFlags
.
Instance
)
.
Select
(
p
=>
new
{
Name
=
p
.
Name
,
Setter
=
p
.
GetSetMethod
(
true
),
Type
=
p
.
PropertyType
})
.
Select
(
p
=>
new
{
Name
=
p
.
Name
,
Setter
=
p
.
DeclaringType
==
typeof
(
T
)
?
p
.
GetSetMethod
(
true
)
:
p
.
DeclaringType
.
GetProperty
(
p
.
Name
).
GetSetMethod
(
true
),
Type
=
p
.
PropertyType
})
.
Where
(
info
=>
info
.
Setter
!=
null
)
.
ToList
();
...
...
Tests/Tests.cs
浏览文件 @
959b99e1
...
...
@@ -317,5 +317,27 @@ public void TestMultiMapDynamic()
connection
.
Execute
(
"drop table #Users drop table #Posts"
);
}
class
InheritanceTest1
{
public
string
Base1
{
get
;
set
;
}
public
string
Base2
{
get
;
private
set
;
}
}
class
InheritanceTest2
:
InheritanceTest1
{
public
string
Derived1
{
get
;
set
;
}
public
string
Derived2
{
get
;
private
set
;
}
}
public
void
TestInheritance
()
{
// Test that inheritance works.
var
list
=
connection
.
Query
<
InheritanceTest2
>(
"select 'One' as Derived1, 'Two' as Derived2, 'Three' as Base1, 'Four' as Base2"
);
list
.
First
().
Derived1
.
IsEqualTo
(
"One"
);
list
.
First
().
Derived2
.
IsEqualTo
(
"Two"
);
list
.
First
().
Base1
.
IsEqualTo
(
"Three"
);
list
.
First
().
Base2
.
IsEqualTo
(
"Four"
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录