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)); } }
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)); } }
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)); } }
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)); } }