本文以Northwind数据库中的Customers和Orders表为例说明Linq to SQL的查询和添加是怎样操作的。
首先通过Linq to SQL File向导创建DataContext以及相应的Entity Class,如果不知道怎样做请看这 里:Defining data model classes
创建一个Customer对象,然后把该数据添加到数据库中去。
NorthwindDataContext ctx = new NorthwindDataContext();
Customer c = new Customer { CustomerID = "Test1",
CompanyName = "Test Company1" };
ctx.Customers.Add(c);
ctx.SubmitChanges();
运行这段代码,在sql profile中可以看到
exec sp_executesql N'INSERT INTO [dbo].[Customers]([CustomerID], [CompanyName], [ContactName]...
这条sql语句,说明数据插入到Customer表中。然后再运行下面这段代码,看看能不能把刚才添加的数 据从数据库中查询出来
Customer c1 = ctx.Customers.Single(c => c.CustomerID == "Test1");
Console.WriteLine(c1.CustomerID + " " + c1.CompanyName);
运行这段代码后,在sql profile中可以看到执行了这条sql语句
exec sp_executesql N'SELECT [t0].[CustomerID], [t0].[CompanyName], [t0]. [ContactName]...
屏幕上也打印出正确的结果