之前有寫過兩篇,EF選擇Mysql數(shù)據(jù)源 跟 EF添加ADO.NET實體模型處直接選擇Oracle數(shù)據(jù)源,其方便之處就不多說了,使用DBfirst直接點點點就能與數(shù)據(jù)庫雙向更新,而且關(guān)鍵是方便我們使用T4,如:

(如果你對T4有個大概認(rèn)識,只會通過ADO.NET實體模型進(jìn)行集合遍歷,那么可以繼續(xù)看下去)

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

  但是現(xiàn)在如果要使用其他數(shù)據(jù)庫,卻又苦于找不到像前兩者一樣的For VS驅(qū)動安裝(這里表揚(yáng)下MySQL跟Oracle,良心產(chǎn)品,對我.NET還是很友好的),那么就只能使用codefirst進(jìn)行EF連接了,但是這樣一來,我們不僅多出手動創(chuàng)建一堆Model等的麻煩,而且,關(guān)鍵的我們用于T4的.edmx文件就沒了,這可咋整,T4中如何遍歷???

  解決辦法,我一開始覺得有好幾種,無非弄出一個集合來,一開始我想的是通過建個.cs,每個屬性名跟Table名一致,去遍歷屬性,得到Table名集合。遺憾的是我TM怎么也獲取不到屬性?。?!

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ include file="EF.Utility.CS.ttinclude"#>
<#@ assembly name="E:\編程\C#\T4Test\T4Test\bin\Debug\Model.dll" #>
<#@ output extension=".cs" #>
<#//var ItemCollection = typeof(Assembly).GetProperties();            //var ItemCollection = typeof(Model.ModelTest).GetProperties();            
            //var ItemCollec