Я использую 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, который не применяется, спасибо tho. –
@AdamReed, вы посмотрели http://stackoverflow.com/questions/1465700/system-linq-dynamic-select-new-into-a-listt-or-any-other-enumerabl – Alex
@EugenePodskal Я ценю ваши усилия ! –