/// <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"); // 获取序列号. int newSeq = sequence.sequence_number; // 更新序列号表. sequence.sequence_number++; Console.WriteLine("sequence = " + newSeq); // 注意: 这里修改了数据以后, 并没有 context.SaveChanges(); 提交保存. // 将循环回去, 再做 FirstOrDefault 查询. } Console.WriteLine("测试多次重复更改/查询 Finish! (本方法未执行 context.SaveChanges() )"); } }
static void DoTestConcurrency() { using (TestEntities context = new TestEntities()) { Console.WriteLine("Start!"); // 取得 数据库的序列号数据. test_sequence sequence = context.test_sequence.FirstOrDefault(p => p.table_name == "test_main"); // 获取序列号. int 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!"); } }
/// <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.Int32 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 对象。 /// </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.Int32 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<T> 属性的 .Add 方法。 /// </summary> public void AddTotest_sequence(test_sequence test_sequence) { base.AddObject("test_sequence", test_sequence); }