我被要求调查linq对我们正在构建的报告应用程序的sql的用处。我们的报告表是一个sql server宽表,包含数千个不同类型的列(String1-500,Int1-500等)。它保存了用户构建的动态报告的结果。
我们有一个第二个表,它将报表字段映射到报表上的列,并使用类型序号对(即列String1)。
我知道应该可以构建针对linq到sql dbml类的表达式树,它可以返回报告结果。我想更进一步,只返回映射到字段的列,并返回动态类型作为结果。
还要避免在dbml中维护庞大的报表类。
是否可以针对不在dbml中的表运行动态linq查询,即(不是linq to sql实体)?
我意识到这是L2S的混蛋,我不喜欢它。我正在考虑使用普通的旧ADO并返回一个非类型的结果集。
非常感谢,
伊恩
答案 0 :(得分:0)
是的,可以针对不在DBML中的实体运行LINQ to SQL。
可能有几种方法可以做到这一点,但我能想到的最简单的方法是调用DataContext.ExecuteQuery来执行SQL语句并返回结果集。
如果您知道可以将结果类型转换为对象的结果类型,则可以将其作为对象类型列表返回。