如何使用linq to sql

如何使用linq to sql,第1张

1.新建一个winform项目。

2.添加一个Linq to Sql 类,命名为Northwind

3.打开服务器资源管理器,将表拖动到linq to sql 类,实体类就由Vs生成了

4.实例化DataContext类

1

NorthwindDataContext dc = new NorthwindDataContext()

5.下面就可以使用Linq to Sql啦。

a.查询Employees所有数据

var ee =

from employee in dc.Employees

select employee

b.加个Where条件,查询Employee表所有City=London

var e2 =

from employee in dc.Employees

where employee.City == "London"

select employee

c.查询EmployeeID<5的数据

var e3 =

from employee in dc.Employees

where employee.EmployeeID <5

select employee

d.查询雇佣日期在1993年1月1日以前的人员。

var e4 =

from employee in dc.Employees

where employee.HireDate <new DateTime(1993, 1, 1)

select employee

e.多个查询条件

var e5 =

from employee in dc.Employees

where employee.HireDate <new DateTime(1993, 1, 1)

where employee.EmployeeID <3

select employee

f.like语句

var e6 =

from employee in dc.Employees

where SqlMethods.Like(employee.FirstName, "%a%")

//where employee.FirstName.Contains("a")//等价于 like '%a%'

//where employee.FirstName.StartsWith("a") //等价于 like 'a%'

//where employee.FirstName.EndsWith("a")//等价于 like '%a'

select employee

g.查询指定的列

var e7 =

(from employee in dc.Employees

//select new { employee.EmployeeID, employee.FirstName }

select new

{

员工编号 = employee.EmployeeID,

员工姓名 = employee.FirstName,

尊称 = employee.TitleOfCourtesy

})

h.子查询

var e8 =

from employee in dc.Employees

where employee.Orders.Count >100

select employee

i.内连接

/**

* 查询位于伦敦的客户的订单

* SELECT *

* FROM [dbo].[Orders]

* INNER JOIN [dbo].[Customers] ON [Customers].[CustomerID] = [Orders].[CustomerID]

* WHERE [Customers].[City] = 'London'

*/

var e9 =

from cus in dc.Customers

join ord in dc.Orders on cus.CustomerID equals ord.CustomerID

where cus.City == "London"

select ord

j.增加

Employees m = new Employees()

m.LastName = "闪硕"

m.FirstName = "燕"

m.Title = "闪硕标题"

dc.Employees.InsertOnSubmit(m)

dc.SubmitChanges()

k.修改

var e10 = dc.Employees.FirstOrDefault(employee =>employee.LastName == "闪硕")

e10.City = "石家庄"

dc.SubmitChanges()

l.删除

var e10 = dc.Employees.FirstOrDefault(employee =>employee.LastName == "闪硕")

dc.Employees.DeleteOnSubmit(e10)

dc.SubmitChanges()

当您要使用语言集成查询 (LINQ) 访问数据库中的数据时,不能直接连接到该数据库。而是应创建表示该数据库及其表的类,然后使用这些类进行数据交互。通过对象关系设计器或运行 SqlMetal.exe 实用工具可生成这些类。有关更多信息,请参见对象关系设计器(O/R 设计器)和代码生成工具 (SqlMetal.exe)。

本主题演示如何在 Web 应用程序中使用 O/R 设计器创建表示 SQL Server 数据库的数据类。

这些数据类必须放置在 Web 应用程序的 App_Code 文件夹或其子文件夹中。如果将数据类包括在 App_Code 的子文件夹中,则会将该子文件夹的名称用作类的命名空间。在此情况下,必须在连接至数据类时提供该命名空间。

使用O/R 设计器时,会自动将用于访问数据库的连接字符串添加到 Web.config 文件中。

创建这些类后,即可使用 LinqDataSource 控件、ObjectDataSource 控件或 LINQ 查询连接它们。

从数据库表中创建类

如果网站上还没有 App_Code 文件夹,请在“解决方案资源管理器”中右击相应的项目,再单击“添加 ASP.NET 文件夹”,然后单击“App_Code”。

右击 App_Code 文件夹,然后单击“添加新项”。

在“已安装的模板”下,选择“LINQ to SQL 类”模板,为 .dbml 文件键入一个名称,然后单击“添加”。

此时将显示“对象关系设计器”窗口。

在“服务器资源管理器”中,将该数据库表拖入“对象关系设计器”窗口。

在设计器窗口中,该表及其列都表示为实体。

保存 .dbml 文件。

这会在 .dbml 文件下面创建一个 .designer.cs 或 .designer.vb 文件。该文件包含一个表示数据库的类和一个表示表的类。该数据库类的无参数构造函数将从 Web.config 文件中读取连接字符串。

context 由 Linq To SQL创建。

VS中选取Linq To SQL新建一个Linq To SQL模型文件 然后选择“工具”菜单下拉框“连接数据库”

“新建连接” 出现导航 设置好了下一步,设置好了下一步。

用鼠标直接拖拽 数据库表到Linq To SQL模型文件上就会自动生成代码。

有点省略了 希望没误子弟

this.DataContext = new DBContext()//DBContext()就是Linq To SQL模型文件生成的类。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11854999.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存