
こんにちは。
Visual Studio 2017 Communityを使ってプログラミングしています。
OSはWindows10です。
###前提・実現したいこと
ASP.NET MVCのプロジェクトを作っています。
CSVファイルを使って、データベースに初期データを取り込みたいです。
1件だけなら、下記コードで可能です。
###該当のソースコード
C#
1using System.ComponentModel.DataAnnotations; 2using System.Data.Entity; 3using System.Linq; 4 5namespace CSVTableProject.Models 6{ 7 public partial class CSVTable 8 { 9 public static void Initialize(DbContext context) 10 { 11 var t = context.Set<CSVTable>(); 12 t.Add(new CSVTable() 13 { 14 Month = "月", 15 CreateDate = "作成日", 16 FiscalYear = "年度", 17 Title = "名前", 18 Price = "値段" 19 }); 20 context.SaveChanges(); 21 } 22 } 23}
そこで、
C#
1 foreach(string line in lines){ 2 string[] cells in line.Split('\t'); 3 t.Add(new CSVTable() 4 { 5 Month = cells[0], 6 CreateDate = cells[1], 7 FiscalYear = cells[2], 8 Title = cells[3], 9 Price = cells[4] 10 }); 11 }
のようにすればよいと考えたのです。
###発生している問題
ここで困っているのが、cellsの数、つまりテーブルの列が50個あることです。
そういう表が50種類くらいあり、コーディングの手間を考えるとくらくらしそうです。
こういうときって、cells[0]をMonthとかに順番に代入する方法、なにかありませんか?
###補足情報(言語/FW/ツール等のバージョンなど)
Visual Studio 2017 Community 15.3.3
.NET Framework 4.7.02053
Windows10 home









