这里是ASP.NET Data Access FAQ的第二部分: LINQ How can I implement a transaction in LINQ? A: You can use TransactionScope class in LINQ to implement a transaction. Its a new function in .NET Framework 2.0 to provide an implicit way to impl
这里是ASP.NET Data Access FAQ的第二部分:
linq
How can I implement a transaction in LINQ?
A: You can use TransactionScope class in LINQ to implement a transaction. It’s a new function in .NET Framework 2.0 to provide an implicit way to implement a transaction. You can use it in LINQ as shown below:
using (TransactionScope scope = new TransactionScope())
{
try
{
……….
ctx.SubmitChanges();
……….
ctx.SubmitChanges();
}
catch (Exception ex)
{
Response.Write("Error happens, Transaction class will automaticlly roll back!");
}
scope.Complete();
}
You need to reference the System.Transactions assembly and add the namespace ‘System.Transactions’. Also, you need to make sure the windows service-“Distributed Transaction Coordinator Service” is running.
Related link:
http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx
How can I use left join in LINQ.
A: You can use the keywords “join” and “into” to implement left join in LINQ. Please take a look at following example:
var sel = from u in
join p inon u.TagID equals p.TagID into UP
from p in UP.DefaultIfEmpty()
select new
{
UT = u.TagID,
UT1 = u.Text,
UT2 = p.Info
};
大高朋团购系统是一套Groupon模式的开源团购程序,开发的一套网团购程序,系统采用ASP+ACCESS开发的团购程序,安装超简,功能超全面,在保留大高朋团购系统版权的前提下,允许所有用户免费使用。大高朋团购系统内置多种主流在线支付接口,所有网银用户均可无障碍支付;短信发送团购券和实物团购快递发货等。 二、为什么选择大高朋团购程序系统? 1.功能强大、细节完善 除了拥有主流团购网站功能,更特别支
What’s the difference between List
A: You can return LINQ query result as type of both List
List
// Return List
ListUser> users = res.ToListUser>();
var ss = users.WhereUser>(p => p.UserInfos.ID != 3);
// Return IQueryable
IQueryableUser> users = res.AsQueryableUser>();
var ss = users.WhereUser>(p => p.UserInfos.ID != 3);
How to implement ‘Like’ operation in LINQ just like in SQL script?
A: If you want to implement the ‘Like’ function in LINQ as in SQL script, you can achieve this by following two methods.
First, you can use Contains, StartsWith, or EndsWith method, here is an example to demonstrate how to use them.
var dd = from p in ctx.Users
where p.email.Contains("xx") || p.userName.StartsWith("xx") || p.userName.EndsWith("xx")
select p;
Second, you can use SqlMethods class, it contains a method named ‘Like’ which has the same function with ‘Like’ in SQL script.
var dd = (from p in ctx.Users
where SqlMethods.Like(p.userName, "%Jiang%") && SqlMethods.Like(p.email,"%WWW%")
orderby p.accountID
select p).Take(10);
How to query a DataTable using LINQ?
A: LINQ can query the data source which implements interface IEnumerable. This means you need to first call AsEnumerable method on DataTable, and then you can use LINQ to query the data. Here’s a sample:
var nostr = from u in dt.AsEnumerable()
where u.FieldDecimal>("m").ToString().ToUpper().StartsWith("3")
select new
{
MONEY = u.FieldDecimal>("m"),
TIME = u.FieldDateTime>("t"),
EXT = "Extra Column"
};









