teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

勘違い

2016/03/09 07:17

投稿

pinnkoro
pinnkoro

スコア66

answer CHANGED
@@ -3,10 +3,18 @@
3
3
  最終的にされたいこととして、添付されてるエクセルの「出力データ」のように
4
4
  4カラム+空白1カラム計5カラムで1人分で人数分を横につなげたい ということでよろしいでしょうか。
5
5
 
6
+ ごめんなさい、とんでもない勘違いをしていたようです。
6
- おそらく列を追加するようなメソッドはないのはないでしょうか
7
+ 下記のような感じご理解ただけますでしょうか
8
+ 参照URL:[DbContextを動的に使用する](http://www.yamamoworks.net/2014/01/entityframework-dynamic-dbcontext.html)
9
+ ```C#
7
- DBのカラムが1つ増えると全件に対して色々としなくてはならないですから。
10
+ using (var db = new DynamicDbContext("DynamicDbContext", type))
8
-
11
+ {
9
- 変更するとすれば、おっしゃられてる通り、新しい出力用のDbSetを追加するか
12
+   // DbSet<T>プロパティは無いのでSet()メソッドでDbSetインスタンス取得
13
+   var dbSet = db.Set(type);
14
+    
10
- 1人Addして固定値(team=T0とか全部Nullとか)を入れたものをAddして出力したExcelを処理するかでしょうか…
15
+   Console.WriteLine(dbSet.ElementType); // --> Person
11
-
16
+  
12
- 出力が何でもいいのであればTab区切りテキストで出力してExcelで読み込ませるとかでいいんですが。
17
+   dbSet.AddRange(newEntities);
18
+   db.SaveChanges();
19
+ }
20
+ ```