##したいこと
以下のようなExcelからデータを取得し、DBに登録しようとしています。
名前 | 親フラグ | |
---|---|---|
1 | AAA | 〇 |
2 | BBB | |
3 | CCC | 〇 |
4 | DDD | |
5 | EEE | |
6 | FFF | 〇 |
7 | GGG |
親フラグというカラムに〇がある場合Parentテーブルに、
ない場合Childテーブルに分けて登録し、ChildテーブルのparentIdには直前の親のIdを入れたいです。
######Parentテーブル
- int Id(AI)
- string Name
######Childテーブル
- int Id(AI)
- int parentId
- string Name
##やってみたこと
- DBの最新データのIDを取得、+1して
for文でexcelデータを回しながら親データが来るたびにインクリメントする。
→ 同じタイミングで他の人がデータの登録などをしていた場合IDが重複してしまう危険性がありそう。
- 1行毎に登録して、最新のIDを取得
→ データが数万行あるため、遅くなりすぎる。
何か他に良い案がないか悩んでおります。
お手数おかけしますがご教授いただけると幸いです。
##環境
.NET Core 3.1
visual studio 2019
PostgreSQL 12.4
回答1件
あなたの回答
tips
プレビュー