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

推荐订阅源

S
SegmentFault 最新的问题
G
Google Developers Blog
H
Help Net Security
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
GbyAI
GbyAI
D
Docker
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
博客园 - 司徒正美
Last Week in AI
Last Week in AI
Microsoft Security Blog
Microsoft Security Blog
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence

博客园 - buru

django begining Update 两个表之间更新数据问题 用户控件与应用页面的事件顺序 linq小问题总结 “尝试读取或写入受保护的内存”错误处理 firefox浏览器的默认事件 配置rails运行环境 通过c#和ironruby学习 ruby语言 SQL 语句查询与性能 操作Access数据库碰到的几个问题 zz天涯-关于职业生涯的 一个线程管理器 zz两个存储过程 看《C#线程参考手册》 Mediator 中介者模式 让firefox支持IE的一些属性 IE与firefox取得事件对象的函数(zz) proxy模式 c#通过url获取文件
asp.net的CodeDom
buru · 2007-12-20 · via 博客园 - buru

2007-12-20 00:42  buru  阅读(223)  评论()    收藏  举报

asp.net2.0的编译模型很灵活,可以用自定义的BuildProvider解析特定的文件编译。
像asp.net里的master页面,.ashx,.ascx 以及.aspx的页面都由特定的buildprovider解析;
晚上自己试验了一下,做了个ORM映射的demo;
在网站的App_Code 下添加个文件demo.dbconfig(扩展名任意)是xml格式的

Code

自己建个类继承System.Web.BuildProvider来解析这个文件,让asp.net 知道怎么生成一个类。
生成的类是用表的字段名作为属性.

Code

网站添加这个BuilProvider引用,还要在webconfig里添加这个配置。

 <system.web>
     
    
        
<compilation debug="true">
            
<buildProviders >
                
<add extension=".dbconfig"   type="Samples.OrmBuildProvider,MyBuilder"/>
            
</buildProviders>
        
</compilation>
       
        
<authentication mode="Windows" />
    

    
</system.web>

完了之后,
在asp.net临时文件夹下生成的.cs文件为

还能被VS智能感知到 ,很cool吧。

调试的时候发现动态编译时查询了两次数据库。
源码下载(vs2008下打开)