1. VS(visual studio)裏獲取LINQ to SQL模板
工具---獲取工具和功能---單個組件---LINQ to SQL Class
2. 創建一個項目(以控制檯程序爲例)
3.添加linq to sql classes
4. 打開server explorer,建立數據庫連接,並將表拖到dbml文件中,結果如下圖
5. 在dbml文件的空白處,右鍵選擇屬性,填寫Context namespace 和 Entity namespace。
到此,項目和數據庫的連接已經建立完成,下面是如何使用的部分。
6. 查
一般查詢:
using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
{
var result = from a in dc.Country_Lists
where a.IntVersionID >= 4
select a;
foreach (var st in result)
{
Console.WriteLine("country name:" + st.Str40CountryName);
Console.WriteLine("RegionID:" + st.IntRegionID);
Console.WriteLine("CountryID:" + st.IntCountryID);
Console.WriteLine("VersionID:" + st.IntVersionID);
}
}
SELECT TOP 5:
using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
{
//SELECT TOP 5
var result = (from a in dc.Study_Infos
orderby a.ID descending
select a).Skip(0).Take(5);
foreach (var item in result)
{
Console.WriteLine("StudyNo: " + item.StudyNo);
Console.WriteLine("Sponsor:" + item.Sponsor);
}
}
分頁查詢:
using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
{
//SELECT TOP 5
var result = (from a in dc.Study_Infos
orderby a.ID descending
select a).Skip(1*5).Take(5);
foreach (var item in result)
{
Console.WriteLine("StudyNo: " + item.StudyNo);
Console.WriteLine("Sponsor:" + item.Sponsor);
}
}
7 增
//insert
using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
{
TableTest item = new TableTest {ID=0, Name = "Jamie1" };
//dc 上下文環境, TableTests 創建linq to sql 時由數據庫拖拽過來的表格
dc.TableTests.InsertOnSubmit(item);
dc.SubmitChanges();
}
批量添加
//Insert
using (LinqDemo1DataContext db = new LinqDemo1DataContext())
{
var list = new List<TableTest> {
new TableTest {ID=3, Name = "Jamie2" },
new TableTest {ID=5, Name = "Jamie5" },
new TableTest {ID=8, Name = "Jamie8" }
};
//dc 上下文環境, TableTests 創建linq to sql 時由數據庫拖拽過來的表格
db.TableTests.InsertAllOnSubmit(list);
db.SubmitChanges();
}
8 改
// Update
using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
{
var list = dc.TableTests.Where(c => c.Name =="Jamie1");
TableTest item = dc.TableTests.Where(c => c.Name == "Jamie1").First();
item.Name = "GAO JAMIE";
dc.SubmitChanges();
}
9 刪
// Delete
using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
{
var list = dc.TableTests.Where(c => c.Name == "Jamie1");
dc.TableTests.DeleteAllOnSubmit(list);
//TableTest country = dc.TableTests.Where(c => c.Name == "Jamie1").First();
//dc.TableTests.DeleteOnSubmit(country);
dc.SubmitChanges();
}
10. Cannot perform Create, Update or Delete operations on Table(Employee) because it has no primary key