コード:EF:回避複数の更新文
var compIds = from p in packinglist.List
select p.ComponentId;
var components = from c in context.Components
where compIds.Contains(c.Id)
select c;
foreach (var item in components)
{
item.CurrentSiteId = packinglist.DestinationId;
}
context.SaveChanges();
が
update [dbo].[Components] set [CurrentSiteId] = @0 where ([Id] = @1)
のようなSQL文をたくさん出して終わるEF(コードファースト)を指示する方法はありますが、以下を発行しますステートメント:
update [dbo].[Components] set [CurrentSiteId] = @0 where ([Id] in (....))
また、利用可能なSQLQueryメソッドの1つ、または別のツールliかっこいいか巨大か...?
私も答えに興味がありますが、EFに関する私の経験に基づいて、これはSQLクエリまたはストアドプロシージャ(EFにインポートできる)の候補に似ています。 – Tridus
@ Tridus:直接SQLを使用する方法がないため、回答として投稿する必要があります。 –