c# - 使用复杂类型调用存储过程 Entity Framework 动态结果集

标签 c# sql-server entity-framework

我有一个存储过程,它调用大约 100 列的 View 使用用户想要查看的一组列调用存储过程,并仅返回那些选定的列。

Entity Framework 无法处理它,因为我定义的复杂类型需要 100 列。

假设我用“PersonName, PersonCity”调用存储过程 是否有可能将我在复杂类型中定义的其他98个类型设置为null?

最佳答案

您不能为此使用 Entity Framework 。您应该使用 ADO.net 和数据表来调用 SP 并检查返回的数据结构。像这样的事情:

var cmd = new SqlCommand("spName", db); cmd.CommandType=CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@ColumnNames", "a,b,c"); var da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt);

        foreach (DataColumn dc in dt.Columns)
        {
            //now you have all the information about the results columns
        }

关于c# - 使用复杂类型调用存储过程 Entity Framework 动态结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14958635/

相关文章:

c# - VS 2013社区MySQL数据库EF6 ADO.NET实体数据模型

.net - 使用异步和集合

c# - MeasureString 忽略 Arial 和 Times New Roman 的字体样式

c# - 在 C# .NET 中按资源组列出 azure 工作区

sql - 如何根据出生日期和 getDate() 计算年龄(以岁为单位)

sql - 您可以从一个实例到另一个实例选择一张表吗?

sql - 我可以在 MSSQL 的 WHERE 子句中使用 SUM 函数的结果吗?

c# - Entity Framework 中的延迟加载项目

c# - UserControl 上的 SizeToContent

c# - 拉伸(stretch)图像以填充可用的宽度/高度(单独)