質問編集履歴

5

環境の更新

2022/08/11 13:58

投稿

locoJr.
locoJr.

スコア15

test CHANGED
File without changes
test CHANGED
@@ -62,3 +62,5 @@
62
62
  .NET Framework 4.7.2
63
63
  WinForm
64
64
  EntitiFramework(EF6)
65
+ SQL Server 2019 Express
66
+ ※SQL Server認証など設定していますが、他は基本的に規定値のままです。

4

誤記修正

2022/08/11 13:40

投稿

locoJr.
locoJr.

スコア15

test CHANGED
File without changes
test CHANGED
@@ -35,7 +35,7 @@
35
35
  }
36
36
 
37
37
  //フォームロード
38
- private void FrmIn_Load(object sender, EventArgs e)
38
+ private void Frm_Load(object sender, EventArgs e)
39
39
  {
40
40
  _timer.Start();
41
41
  }

3

誤記修正

2022/08/11 13:38

投稿

locoJr.
locoJr.

スコア15

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,7 @@
28
28
  _timer = new System.Timers.Timer()
29
29
  {
30
30
  Interval = 1000,
31
- AutoReset = true,
31
+ AutoReset = false,
32
32
  SynchronizingObject = this,
33
33
  };
34
34
  _timer.Elapsed += _timer_Elapsed;
@@ -43,7 +43,6 @@
43
43
 
44
44
  private async void _timer_Elapsed(object sender, ElapsedEventArgs e)
45
45
  {
46
- _timer.Stop();
47
46
  await BindViewAsync();
48
47
  _timer.Start();
49
48
  }

2

タグ追加

2022/08/11 13:37

投稿

locoJr.
locoJr.

スコア15

test CHANGED
File without changes
test CHANGED
File without changes

1

誤字修正

2022/08/11 13:15

投稿

locoJr.
locoJr.

スコア15

test CHANGED
File without changes
test CHANGED
@@ -3,13 +3,13 @@
3
3
  一定間隔で自動でSELECT~バインドを繰り返しているのですが、その間にDBのレコードの値を変更してもなぜかSELECTしたデータは変更前のままです。
4
4
 
5
5
  DBのレコードの値変更は、SSMS(SQL Server Management Studio)で編集する機能から実施しています。
6
- EntityFrameworkにキャッシュしたデータを都度読み出しているのかと思い、SQL Server Profilerで確認しましたが都度SELECTが走っているようでした。
6
+ EntityFrameworkにキャッシュしたデータを都度読み出しているのかと思い、SQL Server Profilerで確認しましたが都度SELECTが実行されているようでした。
7
7
 
8
8
  Contextのインスタンスをコンストラクタやプロパティの初期値などで生成すると古いデータがSELECTされ、バインドする直前に生成すると新しいデータがSELECTされます。
9
9
  Contextはシングルトンなどで一度生成したら以後はそのまま・・・というような感じだったと記憶があったのですが、想定外の動きをして困っています。
10
10
  ※動き的には先にトランザクションをはってしまっているような感じ。
11
11
 
12
- 後者(バインドする直前にインスタンス生成)だと都度コネクション確などが発生し処理負荷が高くなると考えており、なんとかContextは一度だけ生成して都度新しいデータをSELECTしたいです。
12
+ 後者(バインドする直前にインスタンス生成)だと都度コネクション確などが発生し処理負荷が高くなると考えており、なんとかContextは一度だけ生成して都度新しいデータをSELECTしたいです。
13
13
 
14
14
  ### 実現したいこと
15
15
  - [ ] Contextは一度だけ生成して都度新しいデータをSELECTしたい
@@ -50,9 +50,7 @@
50
50
 
51
51
  private async Task BindViewAsync()
52
52
  {
53
- //検索して結果をバインド
54
- List<model.test> tests;
55
- tests = await _context.test.Where(r => l.State == 1).ToListAsync();
53
+ List<model.test> tests = await _context.test.Where(r => l.State == 1).ToListAsync();
56
54
  DataGridView1.DataSource = tests.Select(r => new { ID = r.id, 名前 = r.name }).ToList();
57
55
  }
58
56
  ```