【发布时间】:2020-01-13 08:18:45
【问题描述】:
我正在尝试编写 Web API 的客户端部分 并以用户友好的模式使用这些请求。 我为服务器部分编写了控制器,现在我正在尝试显示查询的数据。
使用投影,我不能使用 EDM 类型(学生),因为我不知道用户会请求什么属性,所以我设法使用 ExpandoObject 并只添加客户端在 UI 中检查的那些属性
现在 ExpandoObject 实现了 IDictionary 接口,您可以从中访问每个动态属性。
有什么方法可以从 Web API 方法返回的 IEnumerable> 类型填充 ListView 或 DataGrid? (IEnumerable 因为我有一个从数据库生成的学生列表) 这就是我只获取请求的列的方式:
return db.Students.AsEnumerable().Select(student =>
{
IDictionary<string, object> expandoStudent = new ExpandoObject();
foreach (var property in properties)
expandoStudent.Add(property.Name, property.GetValue(student, null));
return expandoStudent;
});
【问题讨论】:
标签: c# sql wpf linq asp.net-web-api