C# EF-执行具有动态生成字段的sql查询/存储过程
我在应用程序中使用EF代码优先的方法。我需要执行一个查询,它运行一个报告并返回带有动态生成字段的结果集。结果集中的字段可以根据条件而不同。是否可以像在数据集中一样使用代码优先的方法返回结果集,或者是否有其他方法来实现这一点 谢谢。(未测试)您可以尝试定义数据类型,该数据类型将具有查询可以返回的所有可能列的属性。它必须是没有嵌套对象的平面类型,并且属性必须与结果集中的列具有相同的名称。然后你可以用C# EF-执行具有动态生成字段的sql查询/存储过程,c#,entity-framework,entity-framework-4.1,ef-code-first,C#,Entity Framework,Entity Framework 4.1,Ef Code First,我在应用程序中使用EF代码优先的方法。我需要执行一个查询,它运行一个报告并返回带有动态生成字段的结果集。结果集中的字段可以根据条件而不同。是否可以像在数据集中一样使用代码优先的方法返回结果集,或者是否有其他方法来实现这一点 谢谢。(未测试)您可以尝试定义数据类型,该数据类型将具有查询可以返回的所有可能列的属性。它必须是没有嵌套对象的平面类型,并且属性必须与结果集中的列具有相同的名称。然后你可以用 var data = context.Database.SqlQuery<YourType&g
var data = context.Database.SqlQuery<YourType>("Your SQL Query or SP call");
var data=context.Database.SqlQuery(“您的SQL查询或SP调用”);
如果希望数据集只返回列,则必须使用标准ADO.NET
SqlDataAdapter
或SqlConnection
/SqlCommand
(或与数据库相关的版本)。EF不喜欢不返回固定列集的本机查询 CTP5已经死了。改用EF 4.1。谢谢回复。一个类型中的列太多了。现在,我可能会使用标准的ADO.Net方法。