有没有办法基本上使EF上下文无状态,所以我可以插入一堆POCO而不是将它们保留在内存中,这类似于NHibernate中的无状态会话?这是为了尝试提高批量插入的性能。我将在第一次运行时将1.7M POCO插入到SQL Server Compact表中,然后在后续运行中插入/更新记录。
答案 0 :(得分:1)
No。 EF将要求您将所有对象加载到上下文(内存)中,之后它将在单独的往返中插入/更新每个对象到数据库。
每次性能提升主要基于黑客入侵并试图克服其局限性。在这种情况下,您可以直接自行编写插件并手动将它们批量转移到SqlCeCommands
- 您将更快地构建此类解决方案,它将具有更好的性能并且不会出错。