vs2017,sqlserver2017(localdb)調試通過。
在sqlserver中創建數據庫d1,表t1如下:
錄入數據如下:
在vs新建任意項目,此處以控制台為例。
添加數據模型Model1:
為了盡量少寫代碼,選擇下圖內容(該模式似乎沒有遷移問題,挺好的):
說明:連接字符串可以在代碼中自行設置,所以下面選了“否”並且沒有勾選復選框。
選擇需要使用的表:
完成
項目里自動添加Model1.cs和t1.cs。一個是數據庫對象(含表),一個是表里的記錄對象。
把Model1.cs當中的‘base("name=Model1")’改成用連接字符串
@"server=(localdb)\mssqllocaldb;initial catalog=d1;user ID=sa;password=1;"
表示:
可以看到兩個文件中聲明的屬性和類,一個表示表,一個是記錄。
至此,完成模型和數據庫部分,可以寫主程序了。代碼和效果如下:
static void Main(string[] args) { Model1 m = new Model1();//聲明數據庫對象m //利用linq語句篩選記錄。類似於select * from t1 var students = from x in m.t1 select x; //利用lamda表達式篩選出符合條件的記錄 t1 student = m.t1.First(x => x.nl > 18); foreach (var item in students) { Console.WriteLine($"{item.xm}\t{item.nl}\t{item.cj1}\t{item.xb}"); } Console.WriteLine($"{student.xm}\t{student.nl}\t{student.cj1}\t{student.xb}"); Console.ReadKey(); }