我有一个存储过程调用一个类似100列的视图 使用一组用户想要查看的列来调用存储过程,并仅返回那些选定的列。
实体框架无法处理它,因为我定义的复杂类型需要100列。
假设我用'PersonName,PersonCity'调用存储过程 是否有可能将我在复杂类型中定义的其他98种类型设置为null?
答案 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 }