推荐的批量大小是SqlBulkCopy多少?我正在寻找一个可用作性能调优起点的通用公式.
如何将实体从一个上下文(继承DbContext)复制到另一个上下文?
我发现的所有东西只适用于ObjectContext但不适用于DbContext或使用DbContext但不起作用.
例如,我发现/尝试过:
我将它用于两个目的:
怎么做?
EF 6.1.1,.NET 4.5.2,C#
以下是尝试模拟第二个操作的测试代码(上游更改回远程数据库):
var addedFirst = localContext.Firsts.AsNoTracking().Single(m => m.Id == 4);
var updatedFirst = localContext.Firsts.AsNoTracking().Single(m => m.Id == 2);
addedFirst.Items.First().Id = 0;
addedFirst.Items.First().FirstId = 0;
addedFirst.Id = 0;
remoteContext.FirstItems.Add(addedFirst.Items.First());
remoteContext.Firsts.Add(addedFirst);
var originalFirst = remoteContext.Firsts.Single(m => m.Id == 2);
var originalItem = originalFirst.Items.First();
originalItem.Title = updatedFirst.Items.First().Title;
Run Code Online (Sandbox Code Playgroud)
这是模型:
public class ModelFirstBase …Run Code Online (Sandbox Code Playgroud) 我一直在使用Sql Profiler捕获SQL语句并重新运行有问题的语句.很有用.
但是,有些代码使用SqlBulkCopy API,我不知道如何捕获它们.我看到临时表的创建,但没有任何填充它们.看起来像SqlBulkCopy绕过Sql Profiler或者我没有捕获正确的事件.
sql-server bulkinsert sqlbulkcopy sql-server-profiler sql-server-2012