有对linq熟悉的吗? 为什么vs2008里没有add一实体对象这一功能啊? 该怎么用?
有对linq熟悉的吗? 为什么vs2008里没有add一实体对象这一功能啊? 该怎么用?还有当linq 执行2次查询的时候,是open连接,查询一次,close连接;open连接,查询一次,close连接;
嘛?
能不能这样 :
open连接,查询一次,查询一次,close 连接
--------------------编程问答-------------------- 大家好。linq 如何做到多次 select,insert,update,delete只打开和关闭一次数据库连接? --------------------编程问答-------------------- using (TransactionScope scope = new TransactionScope())
{
// Query the database for the row to be updated.
var query =
from ord in db.Orders
where ord.OrderID == 11000
select ord;
// Execute the query, and change the column values
// you want to change.
foreach (Order ord in query)
{
ord.ShipName = "Mariner4334";
ord.ShipVia = 2;
// Insert any additional changes to column values.
}
// Submit the changes to the database.
try
{
db.SubmitChanges();
}
catch (Exception e)
{
Console.WriteLine(e);
// Provide for exceptions.
}
} --------------------编程问答-------------------- linq本身没有保存对象功能。保存对象各种数据源实现各自扩展的方法。
建立数据源时一般并不“打开连接”,当执行每一个查询时是“打开一个连接还是多个”这与linq也无关,这是很底层才实现的东西。
另外即使是手工编写底层的代码,“共享连接”也并不好多少。如果有缓冲的池,那么打开10000次(同样连接串的)连接和打开一个连接差性能差多少?
--------------------编程问答-------------------- 如果有缓冲的池 -> 如果有缓冲的连接池功能 --------------------编程问答-------------------- sp1234:
请问下你,若用了数据库连接池,是不是
connection.open();
.....//再执行其它的操作
connection.close();
connection.open();
.....//又来执行其它操作
connection.close();
这种只会用一个连接吗?也就是说:后面一次open是用池中的? --------------------编程问答-------------------- 为什么vs2008里没有add一实体对象这一功能啊?
正式版改为 InsertOnSubmit方法了。 --------------------编程问答-------------------- 我也想了解,谢谢LZ. --------------------编程问答-------------------- 好像没那么简单,呵呵. --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 添加类 有linq to SQL 模板
--------------------编程问答-------------------- 使用缓冲池对打开连接在性能上有很大的提高,所以你做的程序中默认的缓冲池都是打开的.
所以不用你考虑打开连接,关闭连接的性能问题..
补充:.NET技术 , LINQ