Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Dapper
提交
70a9c31b
D
Dapper
项目概览
int
/
Dapper
大约 1 年 前同步成功
通知
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,发现更多精彩内容 >>
提交
70a9c31b
编写于
5月 07, 2014
作者:
M
Marc Gravell
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'HEAD' of
https://github.com/SamSaffron/dapper-dot-net.git
上级
01157915
aec9a9d2
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
4 deletion
+29
-4
Dapper NET40/SqlMapper.cs
Dapper NET40/SqlMapper.cs
+7
-2
Dapper.Contrib/SqlMapperExtensions.cs
Dapper.Contrib/SqlMapperExtensions.cs
+22
-2
未找到文件。
Dapper NET40/SqlMapper.cs
浏览文件 @
70a9c31b
...
...
@@ -3231,8 +3231,9 @@ protected void AddParameters(IDbCommand command, SqlMapper.Identity identity)
var
dbType
=
param
.
DbType
;
var
val
=
param
.
Value
;
string
name
=
Clean
(
param
.
Name
);
var
isCustomQueryParameter
=
typeof
(
SqlMapper
.
ICustomQueryParameter
).
IsAssignableFrom
(
val
.
GetType
());
if
(
dbType
==
null
&&
val
!=
null
)
dbType
=
SqlMapper
.
LookupDbType
(
val
.
GetType
(),
name
);
if
(
dbType
==
null
&&
val
!=
null
&&
!
isCustomQueryParameter
)
dbType
=
SqlMapper
.
LookupDbType
(
val
.
GetType
(),
name
);
if
(
dbType
==
DynamicParameters
.
EnumerableMultiParameter
)
{
...
...
@@ -3240,6 +3241,10 @@ protected void AddParameters(IDbCommand command, SqlMapper.Identity identity)
SqlMapper
.
PackListParameters
(
command
,
name
,
val
);
#pragma warning restore 612, 618
}
else
if
(
isCustomQueryParameter
)
{
((
SqlMapper
.
ICustomQueryParameter
)
val
).
AddParameter
(
command
,
name
);
}
else
{
...
...
@@ -3729,4 +3734,4 @@ public partial class FeatureSupport
#endif
}
\ No newline at end of file
}
Dapper.Contrib/SqlMapperExtensions.cs
浏览文件 @
70a9c31b
...
...
@@ -29,7 +29,8 @@ public interface IProxy
private
static
readonly
Dictionary
<
string
,
ISqlAdapter
>
AdapterDictionary
=
new
Dictionary
<
string
,
ISqlAdapter
>()
{
{
"sqlconnection"
,
new
SqlServerAdapter
()},
{
"npgsqlconnection"
,
new
PostgresAdapter
()}
{
"npgsqlconnection"
,
new
PostgresAdapter
()},
{
"sqliteconnection"
,
new
SQLiteAdapter
()}
};
private
static
IEnumerable
<
PropertyInfo
>
ComputedPropertiesCache
(
Type
type
)
{
...
...
@@ -551,4 +552,23 @@ public int Insert(IDbConnection connection, IDbTransaction transaction, int? com
}
return
id
;
}
}
\ No newline at end of file
}
public
class
SQLiteAdapter
:
ISqlAdapter
{
public
int
Insert
(
IDbConnection
connection
,
IDbTransaction
transaction
,
int
?
commandTimeout
,
String
tableName
,
string
columnList
,
string
parameterList
,
IEnumerable
<
PropertyInfo
>
keyProperties
,
object
entityToInsert
)
{
string
cmd
=
String
.
Format
(
"insert into {0} ({1}) values ({2})"
,
tableName
,
columnList
,
parameterList
);
connection
.
Execute
(
cmd
,
entityToInsert
,
transaction
:
transaction
,
commandTimeout
:
commandTimeout
);
var
r
=
connection
.
Query
(
"select last_insert_rowid() id"
,
transaction
:
transaction
,
commandTimeout
:
commandTimeout
);
int
id
=
(
int
)
r
.
First
().
id
;
if
(
keyProperties
.
Any
())
keyProperties
.
First
().
SetValue
(
entityToInsert
,
id
,
null
);
return
id
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录