예제 #1
0
        public bool TestInsertSub(int id, int main_id, string val)
        {
            // 请注意:
            // 由于是使用 WCF 来进行事务的管理.
            try
            {
                using (TestDataClassesDataContext context = new TestDataClassesDataContext())
                {
                    test_sub subData = new test_sub()
                    {
                        id      = id,
                        main_id = main_id,
                        value   = val
                    };


                    context.test_sub.InsertOnSubmit(subData);

                    context.SubmitChanges();
                }



                return(true);
            }
            catch (Exception ex)
            {
                // 由于是使用 WCF 来管理事务.
                // 因此,发生异常了, 就必须抛出异常
                // 不能自己 Catch 住了, 然后简单返回 false.

                // 如果自己 Catch 住了,简单返回 false 的话, WCF 认为你的程序执行正常,就你做的修改提交了,而不是回滚掉。
                throw new FaultException(ex.ToString(), new FaultCode(ex.Message));
            }
        }
예제 #2
0
        public bool TestDeleteData(int main_id)
        {
            try
            {

                using (TestDataClassesDataContext context = new TestDataClassesDataContext())
                {

                    var querySub =
                        from data in context.test_sub
                        where data.main_id == main_id
                        select data;

                    foreach (test_sub subData in querySub)
                    {
                        context.test_sub.DeleteOnSubmit(subData);
                    }

                    var queryMain =
                        from data in context.test_main
                        where data.id == main_id
                        select data;

                    foreach (test_main mainData in queryMain)
                    {
                        context.test_main.DeleteOnSubmit(mainData);
                    }

                    context.SubmitChanges();
                }

                return true;
            }
            catch (Exception ex)
            {
                // 由于是使用 WCF 来管理事务.
                // 因此,发生异常了, 就必须抛出异常
                // 不能自己 Catch 住了, 然后简单返回 false.

                // 如果自己 Catch 住了,简单返回 false 的话, WCF 认为你的程序执行正常,就你做的修改提交了,而不是回滚掉。
                throw new FaultException(ex.ToString(), new FaultCode(ex.Message));
            }
        }
예제 #3
0
        public bool TestDeleteData(int main_id)
        {
            try
            {
                using (TestDataClassesDataContext context = new TestDataClassesDataContext())
                {
                    var querySub =
                        from data in context.test_sub
                        where data.main_id == main_id
                        select data;

                    foreach (test_sub subData in querySub)
                    {
                        context.test_sub.DeleteOnSubmit(subData);
                    }


                    var queryMain =
                        from data in context.test_main
                        where data.id == main_id
                        select data;

                    foreach (test_main mainData in queryMain)
                    {
                        context.test_main.DeleteOnSubmit(mainData);
                    }

                    context.SubmitChanges();
                }


                return(true);
            }
            catch (Exception ex)
            {
                // 由于是使用 WCF 来管理事务.
                // 因此,发生异常了, 就必须抛出异常
                // 不能自己 Catch 住了, 然后简单返回 false.

                // 如果自己 Catch 住了,简单返回 false 的话, WCF 认为你的程序执行正常,就你做的修改提交了,而不是回滚掉。
                throw new FaultException(ex.ToString(), new FaultCode(ex.Message));
            }
        }
예제 #4
0
        public bool TestInsertSub(int id, int main_id, string val)
        {
            // 请注意:
            // 由于是使用 WCF 来进行事务的管理.
            try
            {

                using (TestDataClassesDataContext context = new TestDataClassesDataContext())
                {

                    test_sub subData = new test_sub()
                    {
                        id = id,
                        main_id = main_id,
                        value = val
                    };

                    context.test_sub.InsertOnSubmit(subData);

                    context.SubmitChanges();

                }

                return true;
            }
            catch (Exception ex)
            {
                // 由于是使用 WCF 来管理事务.
                // 因此,发生异常了, 就必须抛出异常
                // 不能自己 Catch 住了, 然后简单返回 false.

                // 如果自己 Catch 住了,简单返回 false 的话, WCF 认为你的程序执行正常,就你做的修改提交了,而不是回滚掉。
                throw new FaultException(ex.ToString(), new FaultCode(ex.Message));
            }
        }