質問編集履歴
8
調査結果の記述箇所を試したことの下に移動
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,19 +12,6 @@
|
|
12
12
|
なぜか一度DBにデータが読み込まれた状態で一旦終了し再起動することで
|
13
13
|
初めてTest_Listの内容が表示されます。
|
14
14
|
|
15
|
-
調べてみたところ、dataTableの列は正しく追加されて5つになっているにもかかわらず、DataGridは最初の2つの列{Num}, {Name}しか表示されず、残り3つの列{Test_1}, {Test_2}, {Test_3}は表示されていないようです。
|
16
|
-
|
17
|
-
dataTable.Columns.Add(new DataColumn($"Test_{i + 1}", typeof(int)));の2行下の"}"にブレークポイントを貼り、DBを空にした状態で一回目に起動すると、自動変数タブのthis.dataTable.Columns.Results_Viewの[0][1][2][3][4]がそれぞれ{Num}, {Name}, {Test_1}, {Test_2}, {Test_3}と正しく入っていることが確認できました。
|
18
|
-
|
19
|
-
同様に、
|
20
|
-
dataTable.Rows.Add(row);の直後の"}"にブレークポイントを貼り、DBを空にした状態で一回目に起動すると、自動変数タブのthis.dataTable.Rows.Results_View.[0].ItemArrayの[0][1][2][3][4]がそれぞれ1, "AA", 1, 2, 3と正しく入っていることが確認できました。
|
21
|
-
|
22
|
-
しかし、そのままContinueすると、{Num}, {Name}の列は正しく表示されるのですが、Test_Listの部分の{Test_1}, {Test_2}, {Test_3}は表示されません。
|
23
|
-
|
24
|
-
つまり、dataTableには行・列ともに正しくデータが入っているにもかかわらず、Test_Listの部分がDataGridに表示されません。
|
25
|
-
これは何が原因と考えられますか?
|
26
|
-
どのように確認すればよいですか?
|
27
|
-
|
28
15
|
### 実現したいこと
|
29
16
|
たとえDBが空の状態でデータを読み込んでも(一回目の起動で)
|
30
17
|
正しくTest_Listの内容を表示できるようにしたいです。
|
@@ -249,6 +236,19 @@
|
|
249
236
|
CreateDataTable()の呼び出し位置をInitializeComponent();の前に移動しました。
|
250
237
|
Test_Listの型をListからObservableCollectionに変更しました。
|
251
238
|
|
239
|
+
調べてみたところ、dataTableの列は正しく追加されて5つになっているにもかかわらず、DataGridは最初の2つの列{Num}, {Name}しか表示されず、残り3つの列{Test_1}, {Test_2}, {Test_3}は表示されていないようです。
|
240
|
+
|
241
|
+
dataTable.Columns.Add(new DataColumn($"Test_{i + 1}", typeof(int)));の2行下の"}"にブレークポイントを貼り、DBを空にした状態で一回目に起動すると、自動変数タブのthis.dataTable.Columns.Results_Viewの[0][1][2][3][4]がそれぞれ{Num}, {Name}, {Test_1}, {Test_2}, {Test_3}と正しく入っていることが確認できました。
|
242
|
+
|
243
|
+
同様に、
|
244
|
+
dataTable.Rows.Add(row);の直後の"}"にブレークポイントを貼り、DBを空にした状態で一回目に起動すると、自動変数タブのthis.dataTable.Rows.Results_View.[0].ItemArrayの[0][1][2][3][4]がそれぞれ1, "AA", 1, 2, 3と正しく入っていることが確認できました。
|
245
|
+
|
246
|
+
しかし、そのままContinueすると、{Num}, {Name}の列は正しく表示されるのですが、Test_Listの部分の{Test_1}, {Test_2}, {Test_3}は表示されません。
|
247
|
+
|
248
|
+
つまり、dataTableには行・列ともに正しくデータが入っているにもかかわらず、Test_Listの部分がDataGridに表示されません。
|
249
|
+
これは何が原因と考えられますか?
|
250
|
+
どのように確認すればよいですか?
|
251
|
+
|
252
252
|
### 補足
|
253
253
|
Windows10
|
254
254
|
C# .NET Core5.0
|
7
調査結果の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,6 +12,19 @@
|
|
12
12
|
なぜか一度DBにデータが読み込まれた状態で一旦終了し再起動することで
|
13
13
|
初めてTest_Listの内容が表示されます。
|
14
14
|
|
15
|
+
調べてみたところ、dataTableの列は正しく追加されて5つになっているにもかかわらず、DataGridは最初の2つの列{Num}, {Name}しか表示されず、残り3つの列{Test_1}, {Test_2}, {Test_3}は表示されていないようです。
|
16
|
+
|
17
|
+
dataTable.Columns.Add(new DataColumn($"Test_{i + 1}", typeof(int)));の2行下の"}"にブレークポイントを貼り、DBを空にした状態で一回目に起動すると、自動変数タブのthis.dataTable.Columns.Results_Viewの[0][1][2][3][4]がそれぞれ{Num}, {Name}, {Test_1}, {Test_2}, {Test_3}と正しく入っていることが確認できました。
|
18
|
+
|
19
|
+
同様に、
|
20
|
+
dataTable.Rows.Add(row);の直後の"}"にブレークポイントを貼り、DBを空にした状態で一回目に起動すると、自動変数タブのthis.dataTable.Rows.Results_View.[0].ItemArrayの[0][1][2][3][4]がそれぞれ1, "AA", 1, 2, 3と正しく入っていることが確認できました。
|
21
|
+
|
22
|
+
しかし、そのままContinueすると、{Num}, {Name}の列は正しく表示されるのですが、Test_Listの部分の{Test_1}, {Test_2}, {Test_3}は表示されません。
|
23
|
+
|
24
|
+
つまり、dataTableには行・列ともに正しくデータが入っているにもかかわらず、Test_Listの部分がDataGridに表示されません。
|
25
|
+
これは何が原因と考えられますか?
|
26
|
+
どのように確認すればよいですか?
|
27
|
+
|
15
28
|
### 実現したいこと
|
16
29
|
たとえDBが空の状態でデータを読み込んでも(一回目の起動で)
|
17
30
|
正しくTest_Listの内容を表示できるようにしたいです。
|
@@ -97,7 +110,7 @@
|
|
97
110
|
{
|
98
111
|
dataTable.Columns.Add(new DataColumn($"Test_{i + 1}", typeof(int)));
|
99
112
|
}
|
100
|
-
}
|
113
|
+
} // ここにブレークポイントを貼る
|
101
114
|
|
102
115
|
foreach (Cat cat in result.ToList())
|
103
116
|
{
|
@@ -116,7 +129,7 @@
|
|
116
129
|
row[2 + i] = (test_list[i] == null) ? DBNull.Value : test_list[i];
|
117
130
|
}
|
118
131
|
dataTable.Rows.Add(row);
|
119
|
-
}
|
132
|
+
} // ここにブレークポイントを貼る
|
120
133
|
}
|
121
134
|
}
|
122
135
|
|
6
DataTableに内容が表示されない→DataGridに内容が表示されない
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
データ読込直後は
|
1
|
+
データ読込直後はDataGridに内容が表示されない
|
body
CHANGED
File without changes
|
5
DataTableに表示→DataGridに表示
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
### 前提
|
2
|
-
CSVデータをPostgreSQLデータベースに読み込み、その内容を
|
2
|
+
CSVデータをPostgreSQLデータベースに読み込み、その内容をDataGridに表示するプログラムです。
|
3
3
|
データの読み込みは`Import CSV`ボタンで行います。
|
4
4
|
|
5
5
|
データは
|
@@ -252,5 +252,5 @@
|
|
252
252
|
PostgreSQL上の列数は1つ(Excelで言うところのセル1つ)のみになり、上限を超えずに済みます。
|
253
253
|
その代わり、DataTable側で読み込む際に分解してやる必要がある訳です。
|
254
254
|
|
255
|
-
また、
|
255
|
+
また、DataTableを導入した理由は、
|
256
256
|
実行時に任意の数の列を追加するためです。
|
4
訂正: 任意の数の桁 →任意の数の列
title
CHANGED
File without changes
|
body
CHANGED
@@ -253,4 +253,4 @@
|
|
253
253
|
その代わり、DataTable側で読み込む際に分解してやる必要がある訳です。
|
254
254
|
|
255
255
|
また、DataGridをやめてDataTableを導入した理由は、
|
256
|
-
実行時に任意の数の
|
256
|
+
実行時に任意の数の列を追加するためです。
|
3
コードを削減し、説明を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,35 @@
|
|
1
|
+
### 前提
|
2
|
+
CSVデータをPostgreSQLデータベースに読み込み、その内容をDataTableに表示するプログラムです。
|
3
|
+
データの読み込みは`Import CSV`ボタンで行います。
|
4
|
+
|
5
|
+
データは
|
6
|
+
> 1,AA,"{1,2,3}"
|
7
|
+
|
8
|
+
のようなCSV形式で、データの後半"{1,2,3}"をTest_Listと呼んでいます。
|
9
|
+
|
10
|
+
### 問題
|
1
|
-
DBが空で
|
11
|
+
DBが空の状態でデータを読み込むとTest_Listの内容が表示されません。
|
2
|
-
データが読み込まれた状態で起動すると
|
12
|
+
なぜか一度DBにデータが読み込まれた状態で一旦終了し再起動することで
|
13
|
+
初めてTest_Listの内容が表示されます。
|
14
|
+
|
15
|
+
### 実現したいこと
|
16
|
+
たとえDBが空の状態でデータを読み込んでも(一回目の起動で)
|
17
|
+
正しくTest_Listの内容を表示できるようにしたいです。
|
18
|
+
|
19
|
+
### コード
|
3
20
|
MainWindow.xaml.cs
|
4
21
|
```C#
|
22
|
+
using Npgsql;
|
23
|
+
using System;
|
24
|
+
using System.Collections.Generic;
|
25
|
+
using System.Data;
|
26
|
+
using System.Linq;
|
27
|
+
using System.Text;
|
28
|
+
using System.Text.RegularExpressions;
|
29
|
+
using System.Windows;
|
30
|
+
|
31
|
+
namespace WpfApp1
|
32
|
+
{
|
5
33
|
public partial class MainWindow : Window
|
6
34
|
{
|
7
35
|
public DataTable dataTable { get; } = new DataTable();
|
@@ -28,7 +56,6 @@
|
|
28
56
|
conn.Close();
|
29
57
|
}
|
30
58
|
CreateDataTable();
|
31
|
-
Actual_Search();
|
32
59
|
InitializeComponent();
|
33
60
|
}
|
34
61
|
|
@@ -93,56 +120,6 @@
|
|
93
120
|
}
|
94
121
|
}
|
95
122
|
|
96
|
-
private void Actual_Search()
|
97
|
-
{
|
98
|
-
BackgroundWorker worker = new BackgroundWorker();
|
99
|
-
worker.DoWork += SearchProcess;
|
100
|
-
worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(SearchProcessCompleted);
|
101
|
-
worker.RunWorkerAsync();
|
102
|
-
}
|
103
|
-
|
104
|
-
private void searchData()
|
105
|
-
{
|
106
|
-
using (var context = new PgDbContext())
|
107
|
-
{
|
108
|
-
var tblCat = context.Cats;
|
109
|
-
IQueryable<Cat> result;
|
110
|
-
result = from x in tblCat
|
111
|
-
select x;
|
112
|
-
this.dataGrid.ItemsSource = result.ToList();
|
113
|
-
}
|
114
|
-
}
|
115
|
-
|
116
|
-
private void SearchProcess(object sender, DoWorkEventArgs e)
|
117
|
-
{
|
118
|
-
using (var context = new PgDbContext())
|
119
|
-
{
|
120
|
-
var tblCat = context.Cats;
|
121
|
-
IQueryable<Cat> result;
|
122
|
-
result = from x in tblCat
|
123
|
-
select x;
|
124
|
-
|
125
|
-
List<CatModel> resultList = new List<CatModel>();
|
126
|
-
foreach (Cat cat in result.ToList())
|
127
|
-
{
|
128
|
-
var numbers = Regex.Match(cat.Test_0001, @"\{(?<numbers>[\d+,]+)\}").Groups["numbers"].Value;
|
129
|
-
double?[] test_ = numbers.Split(',')
|
130
|
-
.Select(x => String.IsNullOrEmpty(x) ? null : (double?)double.Parse(x))
|
131
|
-
.ToArray();
|
132
|
-
List<double?> test_list = test_.ToList<double?>();
|
133
|
-
var oc = new ObservableCollection<double?>();
|
134
|
-
test_list.ForEach(x => oc.Add(x));
|
135
|
-
resultList.Add(new CatModel(cat.Num, cat.Name, oc));
|
136
|
-
}
|
137
|
-
e.Result = resultList;
|
138
|
-
}
|
139
|
-
}
|
140
|
-
|
141
|
-
private void SearchProcessCompleted(object sender, RunWorkerCompletedEventArgs e)
|
142
|
-
{
|
143
|
-
this.dataGrid.ItemsSource = e.Result as List<CatModel>;
|
144
|
-
}
|
145
|
-
|
146
123
|
private void imp_button_Click(object sender, RoutedEventArgs e)
|
147
124
|
{
|
148
125
|
List<Cat> list = new List<Cat>() { new Cat() { Num=1, Name="AA", Test_0001="{1,2,3}"} };
|
@@ -159,10 +136,9 @@
|
|
159
136
|
}
|
160
137
|
}
|
161
138
|
CreateDataTable();
|
162
|
-
searchData();
|
163
|
-
Actual_Search();
|
164
139
|
}
|
165
140
|
}
|
141
|
+
}
|
166
142
|
```
|
167
143
|
|
168
144
|
MainWindow.xaml
|
@@ -180,20 +156,6 @@
|
|
180
156
|
<Grid Width="700" Height="700">
|
181
157
|
<DataGrid AutoGenerateColumns="True" ItemsSource="{Binding dataTable, ElementName=mainWindow}"
|
182
158
|
HorizontalAlignment="Left" Margin="10,10,10,10"/>
|
183
|
-
<DataGrid AutoGenerateColumns="False" Name="dataGrid" HorizontalAlignment="Left" Margin="10,125,0,439" Width="650">
|
184
|
-
<DataGrid.Columns>
|
185
|
-
<DataGridTemplateColumn Header="Select" Width="50">
|
186
|
-
<DataGridTemplateColumn.CellTemplate>
|
187
|
-
<DataTemplate>
|
188
|
-
<CheckBox IsChecked="{Binding IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Center" VerticalAlignment="Center" />
|
189
|
-
</DataTemplate>
|
190
|
-
</DataGridTemplateColumn.CellTemplate>
|
191
|
-
</DataGridTemplateColumn>
|
192
|
-
<DataGridTextColumn Binding="{Binding Num}" ClipboardContentBinding="{x:Null}" Header="Num" Width="50"/>
|
193
|
-
<DataGridTextColumn Binding="{Binding Name}" ClipboardContentBinding="{x:Null}" Header="Name" Width="100"/>
|
194
|
-
<DataGridTextColumn Binding="{Binding Test_List}" ClipboardContentBinding="{x:Null}" Header="Test_List" Width="*"/>
|
195
|
-
</DataGrid.Columns>
|
196
|
-
</DataGrid>
|
197
159
|
<Button x:Name="imp_button" Content="Import CSV" HorizontalAlignment="Left" Margin="250,273,0,0" VerticalAlignment="Top" Width="75" Height="30" Click="imp_button_Click"/>
|
198
160
|
</Grid>
|
199
161
|
</Window>
|
@@ -201,6 +163,12 @@
|
|
201
163
|
|
202
164
|
Cat.cs
|
203
165
|
```C#
|
166
|
+
using System;
|
167
|
+
using System.ComponentModel.DataAnnotations;
|
168
|
+
using System.ComponentModel.DataAnnotations.Schema;
|
169
|
+
|
170
|
+
namespace WpfApp1
|
171
|
+
{
|
204
172
|
[Table("tblcat")]
|
205
173
|
class Cat
|
206
174
|
{
|
@@ -212,13 +180,20 @@
|
|
212
180
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
213
181
|
[Column("name", Order = 1)]
|
214
182
|
public String Name { get; set; }
|
183
|
+
#nullable enable
|
215
184
|
[Column("test")]
|
216
185
|
public string? Test_0001 { get; set; }
|
186
|
+
#nullable disable
|
217
187
|
}
|
188
|
+
}
|
218
189
|
```
|
219
190
|
|
220
191
|
CatModel.cs
|
221
192
|
```C#
|
193
|
+
using System.Collections.ObjectModel;
|
194
|
+
|
195
|
+
namespace WpfApp1
|
196
|
+
{
|
222
197
|
public class CatModel
|
223
198
|
{
|
224
199
|
public CatModel(int Num, string Name, ObservableCollection<double?> Test_List)
|
@@ -233,10 +208,16 @@
|
|
233
208
|
public string Name { get; set; }
|
234
209
|
public ObservableCollection<double?> Test_List { get; set; }
|
235
210
|
}
|
211
|
+
}
|
236
212
|
```
|
237
213
|
|
238
214
|
PgDbContext.cs
|
239
215
|
```C#
|
216
|
+
using Npgsql;
|
217
|
+
using System.Data.Entity;
|
218
|
+
|
219
|
+
namespace WpfApp1
|
220
|
+
{
|
240
221
|
class PgDbContext : DbContext
|
241
222
|
{
|
242
223
|
private const string ConnectionString = "Server=localhost;User ID=postgres;Password=postgres;Database=postgres;port=5432";
|
@@ -248,4 +229,28 @@
|
|
248
229
|
Database.SetInitializer<PgDbContext>(null);
|
249
230
|
}
|
250
231
|
}
|
232
|
+
}
|
251
|
-
```
|
233
|
+
```
|
234
|
+
|
235
|
+
### 試したこと
|
236
|
+
CreateDataTable()の呼び出し位置をInitializeComponent();の前に移動しました。
|
237
|
+
Test_Listの型をListからObservableCollectionに変更しました。
|
238
|
+
|
239
|
+
### 補足
|
240
|
+
Windows10
|
241
|
+
C# .NET Core5.0
|
242
|
+
VisualStudio2019
|
243
|
+
|
244
|
+
PostgreSQLのDB名、ユーザー名、パスワードは共にpostgres
|
245
|
+
スキーマはpublic
|
246
|
+
|
247
|
+
今回使ったTest_Listデータは"{1,2,3}"のように3つしかありませんが、
|
248
|
+
最終的には"{1,2,3,...,4998,4999,5000}"のように5,000列入力する予定です。
|
249
|
+
PostgreSQLの列数の上限は1,600列までであり、
|
250
|
+
通常のCSV形式"1,2,3,...,4998,4999,5000"では上限を超えてしまい、エラーになります。
|
251
|
+
そこで、Test_Listを1つの配列型"{1,2,3,...,4998,4999,5000}"で定義することで、
|
252
|
+
PostgreSQL上の列数は1つ(Excelで言うところのセル1つ)のみになり、上限を超えずに済みます。
|
253
|
+
その代わり、DataTable側で読み込む際に分解してやる必要がある訳です。
|
254
|
+
|
255
|
+
また、DataGridをやめてDataTableを導入した理由は、
|
256
|
+
実行時に任意の数の桁を追加するためです。
|
2
List -> ObservableCollection
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,11 +1,5 @@
|
|
1
|
-
DBが空の状態で
|
2
|
-
|
3
|
-
> 1,AA,"{1,2,3}"
|
4
|
-
|
5
|
-
|
1
|
+
DBが空でImport CSVでデータを読み込むとTest_Listの内容が表示されない
|
6
|
-
データが読み込まれた状態で起動すると
|
2
|
+
データが読み込まれた状態で起動すると内容が表示される
|
7
|
-
DBが空の状態でデータを読み込んでも内容を表示できるようにしたい。
|
8
|
-
|
9
3
|
MainWindow.xaml.cs
|
10
4
|
```C#
|
11
5
|
public partial class MainWindow : Window
|
@@ -136,7 +130,9 @@
|
|
136
130
|
.Select(x => String.IsNullOrEmpty(x) ? null : (double?)double.Parse(x))
|
137
131
|
.ToArray();
|
138
132
|
List<double?> test_list = test_.ToList<double?>();
|
133
|
+
var oc = new ObservableCollection<double?>();
|
134
|
+
test_list.ForEach(x => oc.Add(x));
|
139
|
-
resultList.Add(new CatModel(cat.Num, cat.Name,
|
135
|
+
resultList.Add(new CatModel(cat.Num, cat.Name, oc));
|
140
136
|
}
|
141
137
|
e.Result = resultList;
|
142
138
|
}
|
@@ -182,23 +178,20 @@
|
|
182
178
|
BorderThickness="1">
|
183
179
|
|
184
180
|
<Grid Width="700" Height="700">
|
185
|
-
<DataGrid IsReadOnly="True"
|
186
|
-
AutoGenerateColumns="True"
|
187
|
-
|
181
|
+
<DataGrid AutoGenerateColumns="True" ItemsSource="{Binding dataTable, ElementName=mainWindow}"
|
188
|
-
HorizontalAlignment="Left"
|
189
|
-
Margin="10,10,10,10"/>
|
182
|
+
HorizontalAlignment="Left" Margin="10,10,10,10"/>
|
190
183
|
<DataGrid AutoGenerateColumns="False" Name="dataGrid" HorizontalAlignment="Left" Margin="10,125,0,439" Width="650">
|
191
184
|
<DataGrid.Columns>
|
192
|
-
<DataGridTemplateColumn
|
185
|
+
<DataGridTemplateColumn Header="Select" Width="50">
|
193
186
|
<DataGridTemplateColumn.CellTemplate>
|
194
187
|
<DataTemplate>
|
195
188
|
<CheckBox IsChecked="{Binding IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Center" VerticalAlignment="Center" />
|
196
189
|
</DataTemplate>
|
197
190
|
</DataGridTemplateColumn.CellTemplate>
|
198
191
|
</DataGridTemplateColumn>
|
199
|
-
<DataGridTextColumn Binding="{Binding Num}" ClipboardContentBinding="{x:Null}" Header="Num"
|
192
|
+
<DataGridTextColumn Binding="{Binding Num}" ClipboardContentBinding="{x:Null}" Header="Num" Width="50"/>
|
200
|
-
<DataGridTextColumn Binding="{Binding Name}" ClipboardContentBinding="{x:Null}" Header="Name"
|
193
|
+
<DataGridTextColumn Binding="{Binding Name}" ClipboardContentBinding="{x:Null}" Header="Name" Width="100"/>
|
201
|
-
<DataGridTextColumn Binding="{Binding Test_List}" ClipboardContentBinding="{x:Null}" Header="Test_List"
|
194
|
+
<DataGridTextColumn Binding="{Binding Test_List}" ClipboardContentBinding="{x:Null}" Header="Test_List" Width="*"/>
|
202
195
|
</DataGrid.Columns>
|
203
196
|
</DataGrid>
|
204
197
|
<Button x:Name="imp_button" Content="Import CSV" HorizontalAlignment="Left" Margin="250,273,0,0" VerticalAlignment="Top" Width="75" Height="30" Click="imp_button_Click"/>
|
@@ -228,17 +221,17 @@
|
|
228
221
|
```C#
|
229
222
|
public class CatModel
|
230
223
|
{
|
231
|
-
public CatModel(int Num,
|
224
|
+
public CatModel(int Num, string Name, ObservableCollection<double?> Test_List)
|
232
225
|
{
|
233
226
|
this.IsChecked = false;
|
234
227
|
this.Num = Num;
|
235
228
|
this.Name = Name;
|
236
229
|
this.Test_List = Test_List;
|
237
230
|
}
|
238
|
-
public
|
231
|
+
public bool IsChecked { get; set; }
|
239
232
|
public int Num { get; set; }
|
240
|
-
public
|
233
|
+
public string Name { get; set; }
|
241
|
-
public
|
234
|
+
public ObservableCollection<double?> Test_List { get; set; }
|
242
235
|
}
|
243
236
|
```
|
244
237
|
|
@@ -255,7 +248,4 @@
|
|
255
248
|
Database.SetInitializer<PgDbContext>(null);
|
256
249
|
}
|
257
250
|
}
|
258
|
-
```
|
251
|
+
```
|
259
|
-
### 補足
|
260
|
-
データ読込はImport CSVボタン
|
261
|
-
下のDataGridは後で消す
|
1
10,000字の制限で書けなかった補足を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -256,5 +256,6 @@
|
|
256
256
|
}
|
257
257
|
}
|
258
258
|
```
|
259
|
-
###
|
259
|
+
### 補足
|
260
|
-
|
260
|
+
データ読込はImport CSVボタン
|
261
|
+
下のDataGridは後で消す
|