当前位置:首页 » 编程语言 » linq执行sql

linq执行sql

发布时间: 2024-12-14 09:10:46

⑴ 什么是ling to sql

ling to sql 首先得先解释 linq

LINQ = 语言集成查询(Language INtegrated Query)
是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。

举个例子,比如你的C#代码里面,有个 Apple 对象,对象有 颜色这个属性
当给你一个 Apple 类的列表,要你返回所有 颜色为红色的。
如果没有 LINQ 的话, 那么就是 for 循环, 然后 if
使用 LINQ 的话, 就是有点像数据库的 SQL 语句的写法
var query =
from apple in appleList
where apple.Color == "红色"
select apple;

关于 LINQ 的例子代码:
http://hi..com/wangqing999/blog/item/40982215d2625371ca80c494.html

LINQ to SQL 呢?
就是首先是通过开发工具, 通过读取数据库中的表结构,来创建 C# / VB.NET 的代码
比如你有个表 Test, 有2个字段 id, value
那么开发工具会产生一个类, 叫 Test. 这个类有2个属性 id, value

然后你可以通过写 LINQ 的方式, 来查询数据库里面的数据。
var query =
from test in context.Test
select test;

关于 LINQ to SQL 的例子代码:
http://hi..com/wangqing999/blog/item/143b63da8185904594ee37ee.html

⑵ 这两段sql语句用linq语句怎么写

你的语句好像错了,ON (OD.OrderID=OD.OrderID)这个应该是 ON (O.OrderID=OD.OrderID)

对于问题一,请参考这:

using (var db = new DataClasses1DataContext())
{
var list = from c in db.Customers
join o in db.Orders on c.CustomerID equals o.CustomerID
join od in db.Order_Details on o.OrderID equals od.OrderID
select new{c.Country,od};
var result = from d in list
group d by d.Country into g
orderby g.Sum(c => (c.od.UnitPrice * c.od.Quantity) * (1 - (decimal)c.od.Discount)) descending
select g.Key;
//result 即为最终想要的数据

}
对于问题二,请参考这:
using (var db = new DataClasses1DataContext())
{
foreach(var item in db.Order_Details.Where(c=>c.Procts.Categories.CategoryName=="Seafood"))
{
db.Order_Details.DeleteOnSubmit(item);
}
db.SubmitChanges();

}

⑶ LINQ TO SQL 有什么优缺点啊

首先,在了解 LINQ To SQL 有什么优点之前,我们有必要首先了解下,微软为什么弄了这么个东西。 搞出这个东西来有什么目的:——当然是为了 满足不知道怎么操作数据的程序员开发设计的,并不是每个程序员 都会直接操作数据库,LinQ 可以让他们以一种面向数据对象的方式来思考,及持久化他们的数据!

好处: 容易学习,书写简单。 在开发 中小型 项目 的时候推荐使用!因为可以节省时间!
它可以很方便的调用 存储过程、SQL函数

缺点:由于直接封装了所有的数据持久操作。导致批量持久数据会产生效率问题
尤其体现在批量跟新数据,它会在内存中保持大量的数据模型。

总结:中小型 项目 就放心用吧! 不过从技术 储备的角度来说,建议 看看entity framework

⑷ 哪位高手知道vs2010中的linq怎么查看生成的sql语句

linq使用对象的方式来操作数据库。最后根本的还是生成原始的sql。但是对象的方式掩盖了很多原本的sql面貌可能会是我们不明白对应的sql是什么。还好linq可以输出sql语句
DataClassesDataContext dc = new DataClassesDataContext();
这个对象提供的日志功能。就是输出对应的sql语句。在控制台应用程序下。使用dc.console(有误)可以直接输出显示对应的sql语句。
在windonw和web程序下面可以建立一个txt文件日志。把生成的sql记录下来。代码比较简单了
DataClassesDataContext dc = new DataClassesDataContext();
StreamWriter sw = new StreamWriter(Server.MapPath("sqlLog.txt"), true); // Append
dc.Log = sw;
//然后是linq的相关数据操作

sw.Flush();
sw.Close();
就这样对应的sql语句就记录到sqlLog.txt文件中了。
我们可能会发现生成的sql在我们意料之外。呵呵。我的感觉是这样

⑸ LINQ to SQL模型 是什么意思

通过使用 LINQ to SQL,您可以使用 LINQ 技术访问 SQL 数据库,就像您访问内存中的集合一样。

例如,在下面的代码中,创建了 nw 对象来表示 Northwind 数据库,将 Customers 表作为目标,筛选出了来自 London 的 Customers 行,并选择了一个表示 CompanyName 的字符串以进行检索。

执行循环时,将检索到 CompanyName 值的集合。

//NorthwndinheritsfromSystem.Data.Linq.DataContext.
Northwndnw=newNorthwnd(@"northwnd.mdf");
//or,
//Northwndnw=newNorthwnd("Database=Northwind;Server=server_name;IntegratedSecurity=SSPI");
varcompanyNameQuery=
fromcustinnw.Customers
wherecust.City=="London"
selectcust.CompanyName;
foreach(varcustomerincompanyNameQuery)
{
Console.WriteLine(customer);
}

我觉得详细的介绍,你还是直接看MSDN:

http://msdn.microsoft.com/zh-cn/library/bb386976.aspx

热点内容
腾讯云云服务器登录失败 发布:2024-12-14 11:22:40 浏览:139
linux文件夹路径 发布:2024-12-14 11:21:11 浏览:526
为什么登录个税总说我密码错误 发布:2024-12-14 11:11:59 浏览:626
红米如何root安卓手机 发布:2024-12-14 11:06:08 浏览:593
access数据库读写 发布:2024-12-14 11:06:05 浏览:908
安卓手机发烫是什么引起的 发布:2024-12-14 11:03:15 浏览:735
三星安全文件夹里的文件在哪里 发布:2024-12-14 11:01:03 浏览:355
服务器如何做域名转发 发布:2024-12-14 10:51:56 浏览:158
java对话框选择 发布:2024-12-14 10:51:22 浏览:295
领主如何配置庄园 发布:2024-12-14 10:43:16 浏览:499