標籤:style blog http color os 使用 ar for 資料
C#開發傳統型程式的效率確實很高,今天就來總結下如何使用C#+Linq+SQL快速開發一個新的業務系統。
Linq是微軟官方的輕量級的ORM工具,使用它結合SQL可以快速的產生實體類,再通過Linq操作可以快速的開發業務。
1、產生實體類:
對於已經存在的資料庫結構(SQL Server),可以使用VS內建的命令列工具產生實體類:
sqlmetal工具可以用來對SQL Server資料庫快速產生C#中的實體類,具體參數:
/server參數指定伺服器名稱
/database參數指定資料庫名稱
/namespace參數指定產生代碼的命名空間
/code參數指定產生代碼名稱
2、在C#中對實體類的操作:
1: /*
2: * Shifenzheng是資料庫實體類名稱,繼承自System.Data.Linq.DataContext
3: * 執行個體化時,參數為資料庫的連接字串。
4: *
5: */
6: Shifenzheng db = new Shifenzheng(@"Data Source=CHAO-COMPUTER\MSSQLSERVER_R2;Initial Catalog=Shifenzheng;User ID=sa;Password=123123123;");
7:
8: public frmMain()
9: {
10: InitializeComponent();
11: }
12:
13: private void sbSearch_Click(object sender, EventArgs e)
14: {
15:
16: string strName = teName.Text.Trim();
17: if (strName.Length==0)
18: {
19: MessageBox.Show("請輸入查詢條件!");
20: return ;
21: }
22:
23: /*
24: * Linq語句返回的是System.Linq.IQueryable<KF_Search.Tbl> {System.Data.Linq.DataQuery<KF_Search.Tbl>}對象。
25: * 該對象只能通過foreach來逐一查看。
26: * 因此將其轉換為List對象作為表格控制項的資料來源。
27: */
28: var kfer = from cc in db.Tbls
29: where cc.Name == strName && cc.Mobile!=""
30: select cc;
31: var dataList = kfer.ToList();
32:
33: //設定gridControl對象的資料來源
34: gcDetails.DataSource = dataList;
35: gcName.FieldName = "Name";
36: gcGender.FieldName = "Gender";
37: gcMobile.FieldName = "Mobile";
38: gcIDCard.FieldName = "CtfId";
39: gcEmail.FieldName = "EMail";
40: gcAddress.FieldName = "Address";
41:
42: MessageBox.Show("總共搜尋到 "+dataList.Count+" 條記錄!");
43: }
3、最終實現結果:
使用C#+Linq+SQL快速開發業務