static void DoTestConcurrency()
        {
            using (TestEntities context = new TestEntities())
            {
                Console.WriteLine("Start!");
                // 取得 数据库的序列号数据.
                TEST_SEQUENCE sequence = context.TEST_SEQUENCE.FirstOrDefault(p => p.TABLE_NAME == "test_main");
                // 获取序列号.
                decimal newSeq = sequence.SEQUENCE_NUMBER;
                // 更新序列号表.
                sequence.SEQUENCE_NUMBER++;
                Console.WriteLine("sequence = " + newSeq);

                // 模拟一个长时间操作.
                Thread.Sleep(1000);


                // 插入数据.
                TEST_MAIN testData = new TEST_MAIN()
                {
                    ID    = newSeq,
                    VALUE = "Main" + newSeq
                };
                context.TEST_MAIN.AddObject(testData);
                // 提交保存.
                context.SaveChanges();
                Console.WriteLine("Finish!");
            }
        }
Example #2
0
        /// <summary>
        /// 测试多次重复查询.
        /// </summary>
        public static void DoTest()
        {
            using (TestEntities context = new TestEntities())
            {
                Console.WriteLine("测试多次重复更改/查询 Start!");


                for (int i = 0; i < 10; i++)
                {
                    // 取得 数据库的序列号数据.
                    TEST_SEQUENCE sequence = context.TEST_SEQUENCE.FirstOrDefault(p => p.TABLE_NAME == "test_main");

                    // 获取序列号.
                    decimal newSeq = sequence.SEQUENCE_NUMBER;

                    // 更新序列号表.
                    sequence.SEQUENCE_NUMBER++;

                    Console.WriteLine("sequence = " + newSeq);



                    // 注意: 这里修改了数据以后, 并没有  context.SaveChanges();  提交保存.
                    // 将循环回去, 再做 FirstOrDefault 查询.
                }


                Console.WriteLine("测试多次重复更改/查询 Finish! (本方法未执行 context.SaveChanges() )");
            }
        }
Example #3
0
        /// <summary>
        /// 创建新的 TEST_SEQUENCE 对象。
        /// </summary>
        /// <param name="tABLE_NAME">TABLE_NAME 属性的初始值。</param>
        /// <param name="sEQUENCE_NUMBER">SEQUENCE_NUMBER 属性的初始值。</param>
        public static TEST_SEQUENCE CreateTEST_SEQUENCE(global::System.String tABLE_NAME, global::System.Decimal sEQUENCE_NUMBER)
        {
            TEST_SEQUENCE tEST_SEQUENCE = new TEST_SEQUENCE();

            tEST_SEQUENCE.TABLE_NAME      = tABLE_NAME;
            tEST_SEQUENCE.SEQUENCE_NUMBER = sEQUENCE_NUMBER;
            return(tEST_SEQUENCE);
        }
Example #4
0
 /// <summary>
 /// 用于向 TEST_SEQUENCE EntitySet 添加新对象的方法,已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
 /// </summary>
 public void AddToTEST_SEQUENCE(TEST_SEQUENCE tEST_SEQUENCE)
 {
     base.AddObject("TEST_SEQUENCE", tEST_SEQUENCE);
 }
 /// <summary>
 /// 创建新的 TEST_SEQUENCE 对象。
 /// </summary>
 /// <param name="tABLE_NAME">TABLE_NAME 属性的初始值。</param>
 /// <param name="sEQUENCE_NUMBER">SEQUENCE_NUMBER 属性的初始值。</param>
 public static TEST_SEQUENCE CreateTEST_SEQUENCE(global::System.String tABLE_NAME, global::System.Decimal sEQUENCE_NUMBER)
 {
     TEST_SEQUENCE tEST_SEQUENCE = new TEST_SEQUENCE();
     tEST_SEQUENCE.TABLE_NAME = tABLE_NAME;
     tEST_SEQUENCE.SEQUENCE_NUMBER = sEQUENCE_NUMBER;
     return tEST_SEQUENCE;
 }
 /// <summary>
 /// 用于向 TEST_SEQUENCE EntitySet 添加新对象的方法,已弃用。请考虑改用关联的 ObjectSet&lt;T&gt; 属性的 .Add 方法。
 /// </summary>
 public void AddToTEST_SEQUENCE(TEST_SEQUENCE tEST_SEQUENCE)
 {
     base.AddObject("TEST_SEQUENCE", tEST_SEQUENCE);
 }