之前有寫過兩篇,EF選擇Mysql數(shù)據(jù)源 跟 EF添加ADO.NET實體模型處直接選擇Oracle數(shù)據(jù)源,其方便之處就不多說了,使用DBfirst直接點點點就能與數(shù)據(jù)庫雙向更新,而且關(guān)鍵是方便我們使用T4,如:
(如果你對T4有個大概認(rèn)識,只會通過ADO.NET實體模型進(jìn)行集合遍歷,那么可以繼續(xù)看下去)
但是現(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怎么也獲取不到屬性?。?!
<#@ 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