Появилась новая версия С# с полезной новой функцией Типы Tuple:
public IQueryable<T> Query<T>();
public (int id, string name) GetSomeInfo() {
var obj = Query<SomeType>()
.Select(o => new {
id = o.Id,
name = o.Name,
})
.First();
return (id: obj.id, name: obj.name);
}
Есть ли способ преобразовать объект анонимного типа obj в кортеж, который я хочу вернуть без свойства сопоставления по свойству (при условии, что имена свойств совпадают)?
Контекст находится в ORM, мой объект SomeType имеет много других свойств и сопоставляется с таблицей с большим количеством столбцов. Я хочу сделать запрос, который приносит только ID и NAME, поэтому мне нужно преобразовать анонимный тип в кортеж, или мне нужно, чтобы поставщик ORM Linq знал, как понимать кортеж, и помещал связанные с ним столбцы в предложение SQL select.