2

我有一个存储过程,它调用一个包含 100 列的视图,存储过程被调用,其中包含一组用户想要查看的列,并且只返回那些选定的列。

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

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

4

1 回答 1

2

您不能为此使用实体框架。您应该使用 ADO.net 和 datatable 来调用 SP 并检查返回的数据结构。像这样的东西:

var cmd = new SqlCommand("spName", db); cmd.CommandType=CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@ColumnNames", "a,b,c"); var da = 新的 SqlDataAdapter(cmd); 数据表 dt = 新数据表();da.填充(dt);

        foreach (DataColumn dc in dt.Columns)
        {
            //now you have all the information about the results columns
        }
于 2013-02-19T13:36:10.550 回答