質問編集履歴
5
環境の更新
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
誤記修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -35,7 +35,7 @@
|
|
35
35
|
}
|
36
36
|
|
37
37
|
//フォームロード
|
38
|
-
private void Frm
|
38
|
+
private void Frm_Load(object sender, EventArgs e)
|
39
39
|
{
|
40
40
|
_timer.Start();
|
41
41
|
}
|
3
誤記修正
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 =
|
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
タグ追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
1
誤字修正
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
|
-
後者(バインドする直前にインスタンス生成)だと都度コネクション確
|
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
|
```
|