我正在使用Linq.Dynamic Library和EF6。我試圖從我的用戶選擇的數據庫中只選擇字段。轉換從Linq.Dynamic返回的對象
但是,所有返回的是一個List<object>
,我試圖Cast<dynamic>
,我可以想到的任何方式,但不管對象有0個字段。
我也試過明確聲明爲IEnumerable
,這也是不成功的,並且無法呼叫.ToList()
,而沒有首先調用Cast<T>
,這也是不成功的。
將其中一個對象轉換爲string
時,我得到:"{filenumber=345400, custom2=, custom3=, custom6=4076995332, custom8=4072121417}"
。
數據正在返回我根本無法將其轉換爲適當的類型。
var query = cmax.dbases
.Where(w => statuses.Any(a => w.statusname == a) && portfolios.Any(a => w.portfolio == a))
.Select(string.Format("new ({0})", string.Join(",", fields)))
.Take(Math.Min((int) takeAmount, count - taken));
var take = await query.ToListAsync();
take.ForEach(data => {
var type = take.GetType();
var properties = type.GetProperties();
var propCount = properties.Count();
properties.ToList().ForEach(prop => {
var name = prop.Name;
});
});
@ MUG4N我正在使用Linq.Dynamic,不適用,謝謝你。 –
@AdamReed,你看着http://stackoverflow.com/questions/1465700/system-linq-dynamic-select-new-into-a-listt-or-any-other-enumerabl – Alex
@EugenePodskal我很欣賞你的努力! –