我们有一个遗留应用程序,我们正在迁移到 C#,我想使用实体框架 (EF) 进行数据访问。SQL Server 2012 是数据库,目前我使用的是 EF 5.0。原始应用程序进行了大量数据密集型处理。作为该处理的一部分,原始应用程序广泛使用“临时”表。这些“临时”表中的大多数实际上并不是 SQL Server 临时表(例如 tempdb 中的#sometable),而是在 SQL Server 中它们自己的“临时”数据库中创建和销毁的真实表。
现在,我正在使用 C# EF,我希望能够使用临时表(任一类型)作为我的数据处理的一部分。我已经在 EF 中使用临时表进行了一些谷歌搜索 - 到目前为止,我发现您可以使用 SQLBulkCopy 创建 tempdb 临时表,但无法使用 EF Linq 查询它们,因为它们不是正常的数据结构。我读过的另一个选项 - 使用存储过程进行处理并将表值参数传递给它。这将迫使我们拥有数千个存储过程 - 并将大量业务逻辑放在存储过程中。
还有其他方法可以创建和使用临时 SQL Server 表吗?EF 6 在这方面是否有任何附加功能?