我有以下情况:我需要创建一些临时表来优化最近发生的负载问题。LINQ to SQL 似乎不适用于临时表,除非它们映射到 DBML。老实说,我仍然不明白范围如何在 LINQ to SQL 上工作。考虑到这一点,我去定义 DBML 上的每个临时表。
但是,和往常一样,事情不可能那么容易。我无法在编译时间(这是 linq 需要的)定义我的临时表将具有什么名称,因为它将在用户登录系统时定义。添加更多:我将有几个这样的动态临时表,所以我无法将它们全部映射到 DBML。
当我尝试通过创建临时表时executeCommand
,选择其结果并将其转换为强类型(TempTableDefinition
)。但是,当我尝试在这个新创建的临时表上插入值时,我得到一个 SQLException 说“无效的对象名称 #NewTempTable”(这是我用来创建表的同名)。
看来我将不得不使用纯旧的普通 ADO.NET 来创建每个临时表并将其属性映射到强类型对象(我更喜欢这种方法)。我真的不想将 ADO.NET 与 LINQ 混合使用,因为我刚刚读到这是一个坏主意。另外,与 ADO.NET 方式相比,我更喜欢强类型对象的 linq 方法。
简历: 那么,您知道或者甚至可以创建 linq to sql 可以使用的动态临时表吗?我无法在编译时定义它的名称,只能在执行时定义。任何提示将不胜感激。