我们非常成功地将EF 5.0用于我们的实时服务器以及我们的内部网站。现在我需要创建一个实用程序来解析数据历史记录以创建一个新表,该表将使用用于数据挖掘的生产数据库的副本来完成。鉴于EF是基于事务的,有没有一种很好的方法来创建一个非常大的表,其中表可能具有> 1M行?我目前的想法是否定的,并且这样做的方法是用EF读取数据,但是创建一个然后批量加载的CSV文件,我在其他一些情况下成功地做了。我不一定在寻找最有效的方法,但我无法想象EF或SQL会很好地添加>具有单个事务的1M记录。我知道我可以在1000个记录块中批量处理它们,但这并不是特别有吸引力。 EF据称是MSFT未来的主要数据访问技术,但他们需要支持这种情况作为该计划的一部分。任何想法和见解表示赞赏。 THX。
答案 0 :(得分:1)
EF不适合批量操作(请参阅Efficient way to do bulk insert/update with Entity Framework)。
您可能希望查看SQL Server Bulk Copy API
,而不是使用CSV批量加载