0

我被要求调查 linq to sql 对于我们正在构建的报告应用程序的有用性。我们的报告表是一个 sql server 范围的表,其中包含数千个不同类型的列(String1-500、Int1-500 等)。它保存用户构建的动态报告的结果。

我们有第二个表,它将报告字段映射到报告表上具有类型序数对的列(即列 String1)。

我知道应该可以针对可以返回报告结果的 linq to sql dbml 类构建表达式树。我想更进一步,只返回映射到字段的列并返回动态类型作为结果。

还要避免在 dbml 中维护庞大的报告表类。

是否可以对不在 dbml 中的表运行动态 linq 查询,即(不是 linq to sql 实体)?

我意识到这是 L2S 的混蛋,我不喜欢它。我正在考虑使用普通的旧 ADO 并返回一个无类型的结果集。

非常感谢,

伊恩

4

1 回答 1

0

是的,可以针对不在 DBML 中的实体运行 LINQ to SQL。

可能有几种方法可以做到这一点,但我能想到的最简单的方法是调用DataContext.ExecuteQuery,它将执行一条 SQL 语句并返回一个结果集。

如果您知道结果的类型,则可以将其转换为对象,否则可以将其作为对象类型列表返回。

于 2011-01-31T17:17:55.097 回答