CodeSmith 学习之数据库遍历数据库表的所有字段
2011-04-27 10:20 废墟中的垃圾 阅读(931) 评论(0) 收藏 举报自从有了 实体到数据库的框架之后,就很少直接写数据库了,因为这只是一种存储方式,而不是程序员需要太关注的。
但是事情往往不是用一种方式就可以完全解决的。比如已经有了数据库,那么这个项目如何处理呢,那么就需要自己写相关的反相生成代码。
所以开始看看 codesmith。 废话不多说,这里写的最好先看看一些 codesmith的基础,当然只要你有一定的编程能力,这个应该也能直接看懂。
确定我们接下来要做的事情。
第一个:(C#模板)可以访问数据库(Sqlserver,接下来不会再说,都是Sqlserver。其他可以类推)里面的所有表、字段。
第二个,数据库表的模板独立,数据库模板调用数据库表模板
第三个,根据不同的字段属性,写出来不同的内容
第四个,输出自己需要的模板。
第五个,通过模板生成我们需要的代码文件。
当然,如果不太明白上面五个的意思也没有关系。我们接下来会具体进行操作。
对于数据库的操作,codesmith 已经内置了一个引擎,我们可以使用 SchemaExplorer 来进行相应的操作。
现在我们做一个最简单的,连接数据库一个表,并且把表明输出。
<%--模板使用语言。目标语言--%>
<%@ CodeTemplate Language="C#" TargetLanguage="Text" Src="" Inherits="" Debug="False" Description="Template description here." %>
<%--引用ShemaExplorer--%>
<%@ Assembly Name="SchemaExplorer" %>
<%--引入ShemaExplorer命名空间--%>
<%@ Import Namespace="SchemaExplorer" %>
<%--通过ShemaExplorer命名空间下的 SchemaExplorer.TableSchema 类型,来定义一个数据库表对象。--%>
<%@ Property Name="TableSource" Type="SchemaExplorer.TableSchema" Category="Context" Description="" %>
<%--输出表名称--%>
<%Response.Write(this.TableSource.Name);%>
这样我们就可以读取数据库中的表的名字了。
接下来我们来遍历所有的字段
<%
for(int i = 0;i< this.TableSource.Columns.Count;i++)
{
Response.WriteLine(this.TableSource.Columns[i].Name);
}
%>
很简单吧,当然,还有更多的属性,大家可以自己查看。
浙公网安备 33010602011771号