從資料庫到edmx(模型設計器)
從edmx到cs檔案(tt模版生成)
網路上找到比較多的教程,都是第二步的。
在edmx中,修改屬性→摘要。
string summary=string.empty;
在foreach裡面,將表的注釋取出來
if(entity.documentation !=null && entity.documentation.summary!=null)
summary=entity.documentation.summary;
else
summary="";
後續在
的中間,加入注釋
///
///
///
那麼,完整的**如下:
string summary=string.empty;
else
然後在
的上面新增注釋,完整**如下:
foreach (var edmproperty in ******properties)
else
#>
/// ///
///
上面是從摘要到實體的注釋過程。
可是,明明資料庫中已經寫好了注釋,這裡如果在模版裡再寫一遍,總感覺太麻煩。
那麼在上面的方法中,可以做一步擴充套件,那就是,直接從資料庫中獲取注釋。
具體**如下:
寫乙個獲取字段注釋的類,根據t4模版的語法,類要這麼寫:
public class mysqlsummaryhelper
;user id=;password=;database=information_schema;";
public datatable dbsummary = new datatable();
public mysqlsummaryhelper(string server,string account,string password)
}public string gettablecomment(string tablename)
'",tablename);
return this.dbsummary.select(selectsql).first()["table_comment"].tostring();
}public string getcolumncomment(string tablename,string columnname)
' and column_name=''",tablename,columnname);
return this.dbsummary.select(selectsql).first()["column_comment"].tostring();
}}#>
應該是比較好理解的,
專案中的引用dll
類似using語法,就是開啟命名空間
然後在裡面,寫乙個輔助類
例項化這個類,在構造引數中傳入server、account、password,就可以通過gettablecomment和getcolumncomment兩個方法去獲取欄位名了。
具體**如下:
1、例項化乙個物件,可以寫在summary附近
mysqlsummaryhelper summarydb = new mysqlsummaryhelper("127.0.0.1","root","123456");
2、還記得前面獲取類注釋和屬性注釋的時候,獲取不到注釋的處理麼,我自己寫了個字串進去。
現在可以將那個字串,換成方法的呼叫了,分別如下:
if(entity.documentation !=null && entity.documentation.summary!=null)
summary=entity.documentation.summary;
else
summary=summarydb.gettablecomment(entity.name);
if (edmproperty.documentation != null && edmproperty.documentation.summary != null)
else
這裡講解了大概的tt修改過程,以及修改的原因。
如果還有不理解的,建議搜尋t4語法與除錯技巧,花幾分鐘初步了解一下t4模版,想來會更好理解。
C 實體模型EF關聯資料庫
首先 我們要有對應的資料庫 實體物件 也就是類物件 實體物件類 model public class product productcomm public string name 建立時間 public datetime ctime 0正常 1已刪除 public int s public stri...
EF實體框架模型使用Linq獲取資料庫資料
ef實體框架模型對於處理資料庫提供了很大的方便。ef支援多種資料庫,如sql orcal db2等 能夠與asp.net wpf wcf等很好的整合。此外最方便的就是可以用linq語句實現資料庫操作。2 然後開始用linq查詢獲取資料庫資料,如下 public liststationproducte...
如何將檔案轉成流存入資料庫
stream filedatastream myfile.postedfile.inputstream 得到檔案大小 int filelength myfile.postedfile.contentlength 建立陣列 byte filedata new byte filelength 把檔案流填...