注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞天心宏的博客

依稀旧梦似曾见,相逢只恨缘太迟

 
 
 

日志

 
 
关于我

出身数学,爱好文学,从事软件开发工作。一个阳光、幽默、热爱生活的男孩子,在追求理想的路上风雨无阻,勇往直前,崇尚“梦想有多远,我们就走多远”!

网易考拉推荐

Subsonic配置  

2009-09-23 11:08:52|  分类: Subsonic |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

有些东西,由其是按步骤配置的,时间一长可能开始还会早就忘记了,所以在闲暇把Subsonic配置整理了一下,以备下次参考,同时也希望能给新接触的朋友一个参考。不足之处尽在,敬请指正。

 

 Subsonic 工具可以到其官网下载:http://subsonicproject.com

配置webconfig文件:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <configSections>

    <section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" requirePermission="false" />

  </configSections>

  <appSettings/>

  <connectionStrings>

    <add name="connection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=SSPI;"/>

  </connectionStrings>

  <SubSonicService defaultProvider="SQLProvider">

    <providers>

      <add name="SQLProvider" type="SubSonic.SqlDataProvider, SubSonic" connectionStringName="connection" generatedNamespace="Northwind.DAL"/>

    </providers>

  </SubSonicService>

</configuration>

备注:以上是用Northwind数据库为示例,如果以其他数据库我们只要改动connectionStrings的连接语句就行,其中generatedNamespace指你解决方案中DAL层的名称。

配置环境:

   Visual Studio 2008的菜单栏中的“工具“—>”外部工具显示如下窗口:

Subsonic配置 - 飞天心宏 - 飞天心宏的博客

 

点击添加 标题可以随便填,不过建议填写和项目中的DAL名称一致或者项目名.DAL”

命令:选择文件sonic.exe所在的路径

参数:这个有固定的格式,其中:/out表示项目中DAL层所保存的目录, /config表示项目中的webconfig文件的位置,(注意:这里就是上面配置的配置webconfig文件)

如:generate  /out D:\WeSites\DAL  /config "D:\WeSites\DAL\webconfig.config"

配置成功后点击“确定”,你发现在Visual Studio 2008的菜单栏中的“工具”中的下拉列表中就出现了我们刚才配置的“Northwind.DAL”如下图:

Subsonic配置 - 飞天心宏 - 飞天心宏的博客 

 

点击“Northwind.DAL”就能自动生成DAL的代码了。那从哪才知道我们配置的能成功生成代码呢?很显然从输出中判断:

判断配置是否成功:(从输出中看到Finished,说明成功了)如下图:

Subsonic配置 - 飞天心宏 - 飞天心宏的博客

 

现在你也能在DAL层中看到生成的cs文件了:(如下图)

Subsonic配置 - 飞天心宏 - 飞天心宏的博客

 

DAL层就这样生成了,是不是很简单呢?!!

                                        ----飞天心宏整理  2009/9/23

 

  评论这张
 
阅读(1298)| 评论(3)
&ank"

历史上的今天

最近读者

热度

&nb-align:lef";">在LOFTER的更多文章

&nb-align:lef";"> <;SPn mily: "float:righ";heigh":20px;line-heigh":20px;pTiming:10px 16px 10px 0ang&nr:#d7854e;n';snr:poimesr;">关闭
玩LOFTER,免费冲印20张照片,人人有奖!Tank" aank" aank" aank" aank" &nb-dengNewion:none;" theme"是按步謜ww.lofter.ngm" target="_bRomk">我要抢ly:

评论

<>&nbarea n<="js"> this.p={ m:2, b:2, loftPermalink:'', id:'fks_08207508708ag:906708608308ag9508608ag:6064085083094068', bontTitle:'-sis: 0pr-la', bontAbstract:'有些东西,由其是按步骤r-la的,时间一长可能开始还会早就忘记了,所以在闲暇把-sis: 0pr-la整理了一下,以备57次参;&n同时也希望能给新接触的r笥岩桓霾慰;。不足之处尽在,敬请指正。 ', bontTag:'ssis: 0pr-la,ssis: 0p,dal自动生成,c#', bontUrl:'bont/stb-bc/267;TE87pag98231185/mi4', isPublishe0:1, istop:false, ;nbs:0, modifyTime:1316958938228, publishTime:125367533/mi4, permalink:'bont/stb-bc/267;TE87pag98231185/mi4', ngmmentCount:3, mainCgmmentCount:2, rengmmendCount:0, bsrk:-100, publisherId:0, rengmBontHome:false, n';rentRengmBont:false, attachmentsFileIds:[], vote:{}, groupInfo:{}, friendstb-us:'none', followstb-us:'unFollow', pubSucc:'', visitorRomannce:'', visitorCity:'', visitorNewUsFO:false, postAddInfo:{}, mset:'000', mngm:'', srk:-100, remindgoodnigh"bont:false, isBlackVisitor:false, isShowYodaoAd:false, hostIntro:'出身数学,爱好文学,从事软件开发工作。一个阳光、幽默、热爱生活的男孩子,在追求理想的路上风雨无阻,勇往直前,崇尚“梦想有多远,我们就走多远”!', hmngm:'1', selfRengmBontCount:'0', lofter_single:'<驼 onload="var n驼 = new Image(); n驼.\'是按步謆ont.163.ngm/newpage/images/analyse.png?lofter_single&t砛'+new Newe().getTime()" bor;FO="0" s生"是按步滞这lf.nosdn.127.net/驼/TlZCWHdFWFpidkQ1dGtJK1N5cFRBNzBLUFFPYnJEVi9LWk1KTzJlMTU2Yz0.jpg"/>' } &nbarea> <>&nbarea n<="jst" id="m-3-j: C1"> {list a as x} {if !!x} {/if} {/list} &nbarea> <>&nbarea n<="jst" id="m-3-j: C2"> {if !!a} <驼 class="bdwa bdc0 pnt" onerror="this.oncewion.f60" m生"${fn1(a.usFO;<)}"/> ${fn(a. 0pkn<,8)|escape}
${a.selfIntro|escape}{if great260}${suplement}{/if}
&ank"
{/if} &nbarea> <#--最新日志,群博日志--> <>&nbarea n<="jst" id="m-3-j: C3"> {list a as x} {if !!x}
  • ${fn(x.title,26)|escape}
  • {/if} {/list} &nbarea> <#--推荐日志--> <>&nbarea n<="jst" id="m-3-j: C4">

    推荐过这篇日志的人:

    {if !!b&&b.length>0}

    他们还推荐了:

    {/if} &nbarea> <#--引用记录--> <>&nbarea n<="jst" id="m-3-j: C5"> <;SPn class="plef" fc07">转载记录: &nbarea> <#--博主推荐--> <>&nbarea n<="jst" id="m-3-j: C6"> {list a as x} {if !!x}
  • ${x.title|default:""|escape}
  • {/if} {/list} &nbarea> <#--随机阅读--> <>&nbarea n<="jst" id="m-3-j: C7"> {list a as x} {if !!x}
  • ${x.title|default:""|escape}
  • {/if} {/list} &nbarea> <#--首页推荐--> <>&nbarea n<="jst" id="m-3-j: C8"> {list a as x} {if !!x}
  • ${x.bontTile|default:""|escape}
  • {/if} {/list} &nbarea> <#--历史上的今天--> <>&nbarea n<="jst" id="m-3-j: C10">
      {list a as x} {if x_index>4}{break}{/if} {if !!x}
    • ${fn1(x.title,60)|escape}<;SPn class="fc07">${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
    • {/if} {/list}
    &nbarea> <#--被推荐日志--> <>&nbarea n<="jst" id="m-3-j: C11"> {list a as x} {if !!x}
  • ${fn(x.title,26)|escape}
  • {/if} {/list} &nbarea> <#--上一篇,下一篇--> <>&nbarea n<="jst" id="m-3-j: C12"> {if !!(bontDetail.preBontPermalink)} <;SPn class="ilf" ibonck icn0 icn0-620">&ank" {/if} {if !!(bontDetail.n&nbBontPermalink)} <;SPn class="irg" ibonck icn0 icn0-619">&ank" {/if} &nbarea> <#-- 热度 --> <>&nbarea n<="jst" id="m-3-j: C13"> {list a as x} {if !!x} {/if} {/list} &nbarea> <#-- 网易新闻广告 --> <>&nbarea n<="jst" id="m-3-j: C14">
    网易新闻
    &nbarea> <#--右边模块结构--> <>&nbarea n<="txt" id="m-3-txt-0">

    被推荐日志

      最新日志

        该作者的其他文章

          博主推荐

            随机阅读

              首页推荐



                &nbarea> <#--评论模块结构--> <>&nbarea n<="txt" id="m-3-txt-1">
                &nbarea> <#--引用模块结构--> <>&nbarea n<="j: " id="m-3-txt-2">
                <;SPn class="ztag ibonck icn0 icn0-57">&ank"
                &nbarea> <#--博主发起的投票--> <>&nbarea n<="j: " id="m-3-txt-3"> {list a as x} {if !!x}
              • ${x. 0pk;<|escape}Tank" aank" 投票给 {var first_opwion = true;} {list x.voteDetailList as voteToOpwion} {if voteToOpwion==1} {if first_opwion==false},{/if}Tank" aank" “${b[voteToOpwion_index]}”Tank" aank" {/if} {/list} {if (x.role!="C1") },“我是${c[x.role]}”Tank" aank" {/if} Tank" aank" Tank" aank" <;SPn class="fc07">Tank" aank" Tank" aank" ${fn1(x.voteTime)} {if x.usFO;<==''}{/if} {/if} {/list} &nbarea>
              • var wumiiPermaLink = "是按步謆ont.163.ngm/xuzhihong1987/bont/stb-bc/267;TE87pag98231185/mi4/"; //文章的永久链接,作为文章的唯一标识 var wumiiTags = "ssis: 0pr-la,ssis: 0p,dal自动生成,c#"; //文章标签,以英文逗号分隔,如21"标签1,标签2" var wumiiSitePrefix = "是按步謆ont.163.ngm/xuzhihong1987/"; //博客的主页地址,作为博客的唯一标识 var wumiiPar&ls = "&num=5&mode=3&pf=bont163"; //num为默认显示的相关文章数目,mode为默认的显示模式(1为文字,2为图片,3为自动)
                &ank"
                &ank"
                &ank"
                &ank"
                &ank"
                &ank"
                &ank"
                Tank"
                &ank"
                &ank"
                Tank"
                Tank"
                Tank"
                Tank"

                页脚

                我的照片书 <;SPn class="p fc10">- 博客风格 <;SPn class="p fc10">- 手机博客 <;SPn class="p fc10">- 下载LOFTER APP <;SPn class="p fc10">-<;SPn class="fc08" id="$_foot_ssiscribe"><;SPn class="ibonck m2a icn0 icn0-919">&ank" 订阅此博客

                网易公司版权所有Tank" acopy;1997-2017

                <>&nbarea rows="1" ng&s="1" n<="j: " id="nb-j: Ca1"> 帮助 <;SPn class="fr ibonck ;SPce icn1 icn1-4">Tank" ${u} &nbarea> <>&nbarea rows="1" ng&s="1" n<="j: " id="nb-j: Cd0"> {list wl as x}
                ${x.g}
                {list x.l as y} ${y.n} {/list} {/list} &nbarea> <>&nbarea rows="1" ng&s="1" n<="j: " id="nb-j: Cd1"> {if defined('wl')} {list wl as x}${x.n}{/list} {/if} &nbarea>
                window.N = {tm:{'zbtn':'nbtn', 'bdc0':'bdc0','bdc2':'bdc1', 'bgc0':'bgc0','bgc1':'bgc1','bgc2':'bgc2','bgh0':'bgc9', 'fc00':'fc03','fc01':'fc04','fc02':'fc05','fc03':'fc06','fc04':'fc07','fc05':'fc09'}}; Newe.servTime = '10/18/2017 11:48:28'; oncewion.api = '是按步謅pi.bont.163.ngm/'; oncewion.ms = '是按步謅pi.bont.163.ngm/ms/dwr'; oncewion.dwr = '是按步謅pi.bont.163.ngm/xuzhihong1987/dwr'; oncewion.vcd = '是按步謅pi.bont.163.ngm/cap/captcha.jpgx?SPrentId=267;TE87&r='; oncewion.mrt = '是按步謆.bst.126.net/newpage/mily:/mbox/'; oncewion.fce = '是按步謔s.bont.163.ngm/common/ava.s?host='; oncewion.fce2= '是按步謔s.bont.163.ngm/common/ava.s?host='; oncewion.passportfce = '是按步謔s.bont.163.ngm/common/ava.s?passport='; oncewion.fpr = '是按步謆.bst.126.net/common/portrait/fPce/preview/'; oncewion.f60 = '是按步謆.bst.126.net/common/fPce60.png'; oncewion.f140= '是按步謆.bst.126.net/common/fPce140.png'; oncewion.f40 = oncewion.f140; oncewion.adf140= '是按步謆.bst.126.net/common/admirefPce140.png'; oncewion.ep. = '是按步謆.bst.126.net/common/empty.png'; oncewion.guide_profile_Tim= '是按步謆.bst.126.net/common/guide_profile_Tim.gif'; oncewion.phtoto_dream = '是按步謕hoto.dream.163.ngm/bont/writeBont lback.do'; window.CF = { ca:false ,mid:-3 ,cb:'' ,cc:false ,cd:false ,ce:'-3' ,ck:0 ,ci:['api.bont.163.ngm' ,'是按步謕hoto.163.ngm/photo/html/crossdomain.html?t=20100205' ,'ud.bont.163.ngm' ] ,cj:[-3] ,cl:'' ,cm:["","bont/","album/","musbc/","ng&lection/","friends/","profile/","pprank/","","loftarchive/"] ,cf:0 ,co:{pv:false ,ti:98539428 ,tm:'' ,tc:0 ,tl:3 ,ut:0 ,um:'' ,um:'' ,ui:0 ,ud:true} ,cp:{nr:1 ,cr:1 ,vr:-100 ,fr:0} ,cs:0 ,ct:{'nav':['首页','日志','相册','音乐','收藏','博友','关于我','LOFTER'],'enabled':[0,1,6],'defaultnav':SPrseInt('11111111',2)} ,cu:false ,cv:false ,cw:false }; window.UD = {}; UD.host = { usFOId:267;TE87 ,usFO;<:'xuzhihong1987' , 0pk;<:'or-farea' ,imageUpdeweTime:1326510340459 ,baseUrl:'是按步謝uzhihong1987.bont.163.ngm/' ,gendFO:'他' ,email:'xuzhihong1987@163.ngm' ,photo163;<:'xuzhihong1987' ,photo163Host;<:'xuzhihong1987' ,TOKEN_HTMLMODULE:'' ,isMultiUsFOBont:false ,isWumiUsFO:true ,sRank:-100 }; _mess_nacc='bont';neteaseTracker(); new Image(). = '是按步謆ont.163.ngm/newpage/images/analyse.png?s=p&t'+new Newe().getTime(); window.setTimeout(function(){ (function(i,s,o,g,r,a,m){i['GoogleAnaly-bcsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Newe();a=s.createElement(o), m=s.getElementsByTag;<(o)[0];a.async=1;a.m生砱;m.SPrentNode.insFOtBefore(a,m) })(window,document,'scrip.','//www.google-analy-bcs.com/analy-bcs.js','ga'); ga('create', 'UA-69204963-1', 'auto'); ga('send', 'pageview'); },300); window.setTimeout(function(){ J.loadScrip.('是按步謒usbc.ph.126.net/ph.js?001'); J.postNewaByDWR(oncewion.dwr,'MusbcBeanNew','setCopyrigh"MusbcSessionToken',false); },1000); window.setTimeout(function(){ var scrip. = document.createElement('scrip.'); scrip..async = 1; scrip.. = '是按步謆1.bst.126.net/newregflow/res/js/bont_aswlf_V3_1.js'; document.body.appendChild(scrip.); },300);