Это невозможно для анонимного типа, потому что анонимные типы не являются динамическими. Они должны быть полностью определены во время компиляции. Однако вы можете использовать динамический объект, такой как ExpandoObject
:
var name = "dynamicName";
var result = context.Select(x =>
{
var exp = new ExpandoObject() as IDictionary<string, object>;
exp[name] = x.something;
return (dynamic)exp;
});