使用复杂类型调用存储过程实体框架动态结果集

时间:2013-02-19 13:23:54

标签: c# sql-server entity-framework

我有一个存储过程调用一个类似100列的视图 使用一组用户想要查看的列来调用存储过程,并仅返回那些选定的列。

实体框架无法处理它,因为我定义的复杂类型需要100列。

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

1 个答案:

答案 0 :(得分:2)

您无法使用Entity框架。您应该使用ADO.net和datatable来调用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
        }