Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
szjay
WinFramework
提交
ecdc31f0
W
WinFramework
项目概览
szjay
/
WinFramework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
WinFramework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ecdc31f0
编写于
10月 18, 2018
作者:
S
szjay
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
no commit message
上级
314044c2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
22 addition
and
23 deletion
+22
-23
Utilities/SqlServerDao.cs
Utilities/SqlServerDao.cs
+22
-23
未找到文件。
Utilities/SqlServerDao.cs
浏览文件 @
ecdc31f0
...
...
@@ -16,6 +16,7 @@ using System.Data;
using
System.Data.Common
;
using
System.Data.SqlClient
;
using
System.Linq
;
using
System.Reflection
;
namespace
Infrastructure.Utilities
{
...
...
@@ -110,8 +111,23 @@ namespace Infrastructure.Utilities
where
=
"and "
+
where
;
}
string
tableName
=
DbUtil
.
GetTableName
<
T
>();
string
sql
=
"select {2}* from {0} where 1=1 {1}"
.
Fmt
(
tableName
,
where
,
top
);
string
sql
=
""
;
FieldInfo
sqlFieldInfo
=
ReflectHelper
.
GetField
(
typeof
(
T
),
"SQL"
);
if
(
sqlFieldInfo
!=
null
)
//如果有手工定义SQL,那么优先采用;
{
sql
=
sqlFieldInfo
.
GetValue
(
null
).
ToString
();
if
(!
top
.
IsNullOrEmpty
())
{
sql
=
sql
.
Insert
(
6
,
top
);
}
}
else
//否则自动生成select。
{
string
tableName
=
DbUtil
.
GetTableName
<
T
>();
sql
=
"select {2}* from {0} where 1=1 {1}"
.
Fmt
(
tableName
,
where
,
top
);
}
DbUtil
.
Log
(
sql
);
List
<
T
>
list
=
null
;
...
...
@@ -129,29 +145,12 @@ namespace Infrastructure.Utilities
public
T
FirstOrDefault
<
T
>(
string
where
)
where
T
:
new
()
{
Type
type
=
typeof
(
T
);
string
tableName
=
DbUtil
.
GetTableName
(
type
);
string
sql
=
"select top 1 * from {0} where 1=1 {1}"
.
Fmt
(
tableName
,
where
);
DbUtil
.
Log
(
sql
);
SqlConnection
conn
=
GetConnection
(
true
);
using
(
SqlDataAdapter
da
=
new
SqlDataAdapter
(
sql
,
conn
))
List
<
T
>
list
=
SelectTop
<
T
>(
1
,
where
);
if
(
list
.
Any
())
{
using
(
DataTable
table
=
new
DataTable
())
{
da
.
Fill
(
table
);
if
(
table
.
Rows
.
Count
==
0
)
{
return
default
(
T
);
}
else
{
T
obj
=
table
.
Rows
[
0
].
To
<
T
>();
return
obj
;
}
}
return
list
[
0
];
}
return
default
(
T
);
}
public
int
Insert
<
T
>(
T
entity
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录