C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: LINQ to SQLで一括Select Insert


(過去ログ 136 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■79913 / inTopicNo.1)  LINQ to SQLで一括Select Insert
  
□投稿者/ ああ (1回)-(2016/05/27(Fri) 18:03:48)

分類:[.NET 全般] 

2016/05/29(Sun) 02:21:51 編集(投稿者)
2016/05/27(Fri) 18:29:45 編集(投稿者)

<pre><pre>お世話になっております。
LINQ to SQL でテーブルAからテーブルBへの
一括Select Insertのやり方がわかりません。

var bs = context.A.Select(a => new B(a.Id, , , ));
context.B.InsertAllOnSubmit(bs);
context.SubmitChanges();

これをやると、以下のエラーになりました。
「クエリでエンティティ型 'B' を明示的に構築することは許可されていません。」

勿論、ループをまわして、Insert文が大量に発行されるのは無しです。
例えばこうやると、エラーは出ないですがInsert文が大量に発行されました。
var bs= new List<B>();
foreach (var a in context.A)
{
bs.Add(new B(a.Id,,,));
}
context.B.InsertAllOnSubmit(bs);
context.SubmitChanges();
よろしくお願いします。

環境VS2003、.NET Framework 4.5.1 SQL Server 2014 C#
</pre></pre>
引用返信 編集キー/
■79919 / inTopicNo.2)  Re[1]: LINQ to SQLで一括Select Insert
□投稿者/ かたぎり (1回)-(2016/05/28(Sat) 12:39:54)
LINQtoSQLにこだわらなければ、SQLBulkcopyかINSERT〜SELECT文で一発でおわるお話ですが
LINQtoSQLでなければならないのでしょうか。
引用返信 編集キー/
■79926 / inTopicNo.3)  Re[2]: LINQ to SQLで一括Select Insert
□投稿者/ ああ (2回)-(2016/05/29(Sun) 02:16:48)
2016/05/29(Sun) 02:19:48 編集(投稿者)
2016/05/29(Sun) 02:19:38 編集(投稿者)

No79919 (かたぎり さん) に返信
> LINQtoSQLにこだわらなければ、SQLBulkcopyかINSERT〜SELECT文で一発でおわるお話ですが
> LINQtoSQLでなければならないのでしょうか。


ご回答ありがとうございました。
できないのでしょうか。。。
ものすごく基本的な操作なので(集計処理などでは)
できるかと思ったのですが。
SQLのべた書きを無くせるので、
Linq to SQL良いなと思ったのですが、
これができないなら非常に残念です。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -