У нас есть устаревшее приложение, которое мы переносим на C#, и я хотел бы использовать Entity Framework (EF) для доступа к данным. SQL Server 2012 — это база данных, и в настоящее время я использую EF 5.0. Исходное приложение выполняло много интенсивной обработки данных. В рамках этой обработки исходное приложение широко использовало "временные" таблицы. Большинство этих «временных» таблиц на самом деле не были временными таблицами SQL Server (например, #sometable в базе данных tempdb), а были настоящими таблицами, созданными и уничтоженными в собственной «временной» базе данных в SQL Server.
Теперь, когда я работаю с C# EF, я хочу иметь возможность использовать временные таблицы (любого типа) как часть обработки данных. Я немного погуглил об использовании временных таблиц с EF - и до сих пор я обнаружил, что вы можете создавать временные таблицы tempdb с помощью SQLBulkCopy, но нет никакого способа сделать запрос к ним с помощью EF Linq, поскольку они не являются частью нормальная структура данных. Другой вариант, о котором я читал, - это использование хранимой процедуры для обработки и передачи ей табличного параметра. Это заставит нас иметь тысячи хранимых процедур и поместить большую часть бизнес-логики в sprocs.
Есть ли другой способ создания и использования временных таблиц SQL Server? Есть ли в EF 6 дополнительные возможности в этой области?