0

我正在使用 Linq2SQL 在 C# 中编写一个小型应用程序,并且由于该应用程序将更新和删除数据,我希望像在 SSMS 中一样执行查询,其中您在开始时有一个 Begin Transaction,在查询后有一个 Rollback。这对 Linq2SQL 可行吗?

这是我的一个更新示例:

        public static void eoeinfo(Form1.emaildup _ed, Int32 _mainID)
        {
            using (ipamDataContext _db = new ipamDataContext())
            {
                var _records = (from a in _db.WebEOEInfos
                                join b in _db.WebPersonalInfos on a.UserID equals b.UserID
                                where b.Email == _ed.email && b.UserID != _mainID
                                select a).ToList();
                foreach (WebEOEInfo _i in _records)
                    _i.UserID = _mainID;
                try
                {_db.SubmitChanges();}
                catch (Exception e)
                {
                    String _cc = String.Empty;
                    foreach (object _i in _db.ChangeConflicts)
                    {_cc += _i.ToString() + " || ";}
                    Console.WriteLine(_cc);
                }
            }
        }
4

1 回答 1

0

好吧,好消息是您已经在使用事务。

因为您只执行 1 个 db.SubmitChanges,所以 L2S 会将由此产生的所有更新语句包装在一个事务中。

于 2015-03-03T19:43:57.230 回答