如何解决EF-执行具有动态生成的字段的SQL查询/存储过程
|| 我在应用程序中使用的是EF代码优先方法。我需要执行一个查询,该查询运行一个报表并返回带有动态生成字段的结果集。结果集中的字段可以根据条件而有所不同。是否可以使用代码优先方法(例如在DataSet中)返回结果集,还是有其他方法可以实现此目的? 谢谢。解决方法
(未经测试)您可以尝试定义数据类型,该数据类型将具有查询可以返回的所有可能列的属性。它必须是平面类型,没有嵌套对象,并且属性名称必须与结果集中的列相同。那你可以用
var data = context.Database.SqlQuery<YourType>(\"Your SQL Query or SP call\");
如果只需要带有返回列的“ 1”,则必须使用标准ADO.NET“ 2”或“ 3” /“ 4”(或与数据库相关的版本)。 EF不喜欢不会返回固定列集的本机查询。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。