惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
MongoDB | Blog
MongoDB | Blog
D
Docker
Martin Fowler
Martin Fowler
人人都是产品经理
人人都是产品经理
GbyAI
GbyAI
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell
M
MIT News - Artificial intelligence
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
Netflix TechBlog - Medium
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
Vercel News
Vercel News
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
有赞技术团队
有赞技术团队
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
I
InfoQ
U
Unit 42

博客园 - 废墟中的垃圾

Android 学习笔记一 -- 环境搭建 DOTNET网站中级程序员招聘 同时招聘其他职位 windows 2003 和 windows xp 下安装 Windows Phone Developer Tools RTW(sdk) 微博关注其实图标可以自己定义:) Google map api 3.9 Directions 相关的服务 Google map api 3.9 Service Geocoder 地理信息解析 Google map api 3.9 Service 服务相关 pmropn.exe 暂用cpu 的解决办法 免费百度刷下拉 刷联想词软件,共享出来,大家共勉 商城SEO - 当前关键词的设定 真正解决方案:无法启动调试--未安装 Silverlight Developer 运行时。请安装一个匹配版本。 SEO研究中心第三版优化教程(扫描版)目录添加版 framework4.0 预先需要安装的系统组件 SQLServer ERRORLOG 删除 老魏帮忙发的木棒问题的最大长度优先匹配原则算法 Google map api v3 Services —— Elevation 在 Google map api v3 里面使用 海拔对象 Google Map —— The Google Elevation API Google map v3 发布 关于 server.urlencode 中文乱码的问题 asp 和 .net 都说明一下
CodeSmith 学习之数据库遍历数据库表的所有字段
废墟中的垃圾 · 2011-04-27 · via 博客园 - 废墟中的垃圾

2011-04-27 10:20  废墟中的垃圾  阅读(942)  评论()    收藏  举报

自从有了 实体到数据库的框架之后,就很少直接写数据库了,因为这只是一种存储方式,而不是程序员需要太关注的。

但是事情往往不是用一种方式就可以完全解决的。比如已经有了数据库,那么这个项目如何处理呢,那么就需要自己写相关的反相生成代码。

所以开始看看 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);

}

%>

很简单吧,当然,还有更多的属性,大家可以自己查看。