My Program life
吴碧宇,Knightfire,Wubiyu,
Google Doc
博客园
首页
博问
闪存
新随笔
联系
订阅
管理
随笔-151 文章-13 评论-52
AbstractProvider.cst 生成数据提供者基类
1
<%--
2
Name:
3
Author:
4
Description:
5
--%>
6
<%
@ CodeTemplate Language
=
"
C#
"
ResponseEncoding
=
"
UTF-8
"
TargetLanguage
=
"
Text
"
Src
=
"
Helper.cs
"
Inherits
=
"
Helper
"
Debug
=
"
False
"
Description
=
"
Template description here.
"
%>
7
8
<%
@ Assembly Name
=
"
System.Data
"
%>
9
<%
@ Assembly Name
=
"
SchemaExplorer
"
%>
10
<%
@ Import Namespace
=
"
System.Data
"
%>
11
<%
@ Import Namespace
=
"
SchemaExplorer
"
%>
12
<%
@ Property Name
=
"
DataBase
"
Type
=
"
SchemaExplorer.DatabaseSchema
"
Category
=
"
2.数据库对象
"
Description
=
"
当前生成的数据库对象
"
%>
13
<%
@ Property Name
=
"
NameSpace
"
Type
=
"
System.String
"
Default
=
""
Optional
=
"
false
"
Category
=
"
1.命名空间
"
Description
=
"
当前生成命名空间
"
%>
14
<%
@ Property Name
=
"
AutoExecuteScript
"
Type
=
"
System.Boolean
"
Default
=
"
False
"
Category
=
"
1. 是否自动执行生成后的脚本
"
15
Description
=
"
是否自动执行生成后的脚本
"
%>
16
<%
@ Property Name
=
"
ModuleName
"
Type
=
"
System.String
"
Default
=
""
Optional
=
"
false
"
Category
=
""
Description
=
"
项目名称
"
%>
17
18
19
20
21
using
System;
22
using
System.Collections.Generic;
23
using
System.Text;
24
using
System.Configuration.Provider;
25
using
System.Data;
26
using
System.Web.Configuration;
27
using
System.IO;
28
using
System.Configuration;
29
30
namespace
<%=
NameSpace
%>
.Framework
31
{
32
/**/
///
<summary>
33
///
表示数据提供者基类。
34
///
</summary>
35
public
abstract
partial
class
<%=
ModuleName
%>
Provider : ProviderBase
36
{
37
系统设置
#region
系统设置
38
private
static
<%=
ModuleName
%>
Provider instance
=
null
;
39
private
static
<%=
ModuleName
%>
ProviderCollection providers
=
null
;
40
private
static
object
lockObject
=
new
object
();
41
42
/**/
///
<summary>
43
///
获取数据提供者。
44
///
</summary>
45
public
static
<%=
ModuleName
%>
Provider Instance
46
{
47
get
48
{
49
LoadProviders();
50
return
instance;
51
}
52
}
53
54
/**/
///
<summary>
55
///
获取数据提供者集合。
56
///
</summary>
57
public
static
<%=
ModuleName
%>
ProviderCollection Providers
58
{
59
get
60
{
61
LoadProviders();
62
return
providers;
63
}
64
}
65
66
/**/
///
<summary>
67
///
获取Provider。
68
///
</summary>
69
private
static
void
LoadProviders()
70
{
71
//
Avoid claiming lock if providers are already loaded
72
if
(instance
==
null
)
73
{
74
lock
(lockObject)
75
{
76
//
Do this again to make sure provider is still null
77
if
(instance
==
null
)
78
{
79
//
Get a reference to the <imageService> section
80
<%=
ModuleName
%>
ManagerSection section
=
(
<%=
ModuleName
%>
ManagerSection)WebConfigurationManager.GetSection(
"
modules/projectManager
"
);
81
82
//
Load registered providers and point provider
83
//
to the default provider
84
providers
=
new
<%=
ModuleName
%>
ProviderCollection();
85
ProvidersHelper.InstantiateProviders(section.Providers, providers,
typeof
(
<%=
ModuleName
%>
Provider));
86
instance
=
providers[section.DefaultProvider];
87
88
if
(instance
==
null
)
89
throw
new
ProviderException(
"
加载默认的项目数据提供者失败。
"
);
90
}
91
}
92
}
93
}
94
95
/**/
///
<summary>
96
///
设置或获取数据提供者的应用程序名称。
97
///
</summary>
98
public
abstract
string
ApplicationName
{
get
;
set
; }
99
#endregion
100
101
<%
102
foreach
(TableSchema Table
in
DataBase.Tables)
103
{
104
%>
105
%= Table.Description%
#region
<%= Table.Description%>
106
107
public
abstract
<%
108
if
(
!
IsMorePrimary(Table))
109
{
%><%=
GetCSharpVariableType(Table.PrimaryKey.MemberColumns[
0
])
%>
<%
110
111
}
112
else
113
{
%>
void
<%
114
}
115
%>
Create
<%=
GetClassName(Table)
%>
(
<%=
GetClassName(Table)
%>
<%=
GetparameteryName(Table)
%>
);
116
public
abstract
void
Update
<%=
GetClassName(Table)
%>
(
<%=
GetClassName(Table)
%>
<%=
GetparameteryName(Table)
%>
);
117
public
abstract
void
Delete
<%=
GetClassName(Table)
%>
(
<%
118
bool
t
=
false
;
119
foreach
(ColumnSchema column
in
Table.PrimaryKey.MemberColumns)
120
{
121
if
(t)
122
{
123
Response.Write(
"
,
"
);
124
}
125
t
=
true
;
126
%><%=
GetCSharpVariableType(column)
%>
<%=
GetFiledName(column)
%><%
}
t
=
false
;
%>
);
127
public
abstract
<%=
GetClassName(Table)
%>
Get
<%=
GetClassName(Table)
%>
(
<%
128
129
foreach
(ColumnSchema column
in
Table.PrimaryKey.MemberColumns)
130
{
131
if
(t)
132
{
133
Response.Write(
"
,
"
);
134
}
135
t
=
true
;
136
%><%=
GetCSharpVariableType(column)
%>
<%=
GetFiledName(column)
%><%
}
t
=
false
;
%>
);
137
#endregion
138
<%
}
%>
139
140
141
}
142
143
}
144
145
<
script runat
=
"
template
"
>
146
</
script
>
绿色通道:
好文要顶
关注我
收藏该文
与我联系
posted @ 2007-07-05 19:43
吴碧宇
阅读(125)
评论(1)
编辑
收藏
注册用户登录后才能发表评论,请
登录
或
注册
,
返回博客园首页
。
首页
博问
闪存
新闻
园子
招聘
知识库
最新IT新闻
:
·
程序员水平分级 你属于哪一类?
·
HTC将推出PlayStation认证手机/平板
·
ASP.NET MVC模型绑定
·
还在用软件修图吗?HTML5网站enThread让你在浏览器上编辑图片
·
Fiilink,联结“共同感受”的人
»
更多新闻...
最新知识库文章
:
·
进入2012 -- 回顾我走过的编程之路
·
如何学习编程
·
学编程关键在动手,提高在实践
·
十年程序员
·
HTTP 协议详解
»
更多知识库文章...
China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务
公告
昵称:
吴碧宇
园龄:
4年7个月
粉丝:
7
关注:
2
<
2012年2月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
2
3
4
5
6
7
8
9
10
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
最新随笔
1. 【转】c# 位操作
2. C#中调用Windows API时的数据类型对应关系
3. 全面理解javascript的caller,callee,call,apply概念[转载]
4. 发几个小的测式软件
5. 關於 IE6/7 不支援 Element 自訂方法屬性繼承的可行解決方案
6. Vs2010 配置驱动开发环境
7. 美杜杉 主动防御最新版
8. Asp.net 异步请求 IHttpAsyncHandler
9. [转]COM线程模型-套间
10. [转]VC使用CRT调试功能来检测内存泄漏
我的标签
javascript
(4)
c++
(2)
com
(2)
js
(2)
asp.net
(2)
MVC
(1)
GridView jsGridView
(1)
对话框
(1)
COM 伪异步调用COM C++ SAFEARRAY IDispatch
(1)
c++ 反射
(1)
更多
随笔分类
(145)
Action Script 3.0(2)
(rss)
asp.net(24)
(rss)
asp.net 控件开发(5)
(rss)
c#(15)
(rss)
C++(45)
(rss)
DotNet(9)
(rss)
Flex(4)
(rss)
JAVA JSF框架(4)
(rss)
JavaScript(25)
(rss)
SQL(5)
(rss)
XML(2)
(rss)
非技术区(4)
(rss)
驱动开发(1)
(rss)
随笔档案
(151)
2011年7月 (2)
2011年1月 (1)
2010年11月 (1)
2010年6月 (1)
2010年5月 (1)
2010年4月 (2)
2010年1月 (1)
2009年12月 (2)
2009年10月 (3)
2009年8月 (1)
2009年7月 (4)
2009年5月 (2)
2009年4月 (3)
2009年3月 (6)
2009年2月 (5)
2009年1月 (3)
2008年12月 (10)
2008年11月 (10)
2008年10月 (8)
2008年9月 (6)
2008年8月 (11)
2008年7月 (14)
2008年6月 (8)
2008年5月 (1)
2008年3月 (2)
2008年2月 (10)
2008年1月 (6)
2007年12月 (3)
2007年11月 (2)
2007年10月 (1)
2007年9月 (1)
2007年8月 (5)
2007年7月 (15)
文章分类
(11)
Provider 模式小型项目数据访问层生成功具(11)
(rss)
文章档案
(13)
2007年10月 (1)
2007年7月 (12)
相册
生活相册
网址
Activex
AS
学习资料01
HttpHandler概要
Jeffrey Zhao (赵劼)
Mobidogs博客
TerryLee's Tech Space
Web设计师应该收藏
xmlhttp对象参考
老赵点滴
李剑博客
林伟博客
我的QQ空间
我的老婆
消万勇博客
赵凯
积分与排名
积分 - 89978
排名 - 1143
最新评论
阅读排行榜
评论排行榜
推荐排行榜