LinqToSql как поменять псевдоним поля

284
20 января 2017, 05:50

Есть запрос на выборку данных, которые отправляются в dataGrid WPF:

var member1 = dataEntities.WorkExperience;
var query1 =
    from mem in member1
    where mem.Jobless_id == RegistrationData.JoblessId
    select new
    {
        mem.GroupPost.Label,
        mem.Post,
        mem.WorkPeriod.Label,
        mem.Dismissal_date
    };
dataGrid.ItemsSource = query1.ToList();

Вот код списка (колонки):

<DataGrid.Columns>
     <DataGridTextColumn Header="Група посад" Binding="{Binding Path=Label}"/>
     <DataGridTextColumn Header="Посада" Binding="{Binding Path=Post}"/>
     <DataGridTextColumn Header="Стаж роботи" Binding="{Binding Path=Work_period}"/>
      <DataGridTextColumn Header="Дата звільнення" Binding="{Binding Path=Dismissal_date}"/>
 </DataGrid.Columns>  

Конфликт происходит тут:

  mem.GroupPost.Label,
  mem.WorkPeriod.Label,

Типо 2 названия Label одинаковые...
Я хочу исправить это дело оператором AS (как в SQL): mem.WorkPeriod.Label AS [Work_period]. Но оно не хочет его принимать.
Можете подсказать, как его подогнать правильно плиз?

Answer 1

Для задания новых имен необходимо проецировать в анонимный тип или описать свой класс. Первое значительно проще. Приведу пример:

...
select new { a.A, a.B }

или же явно задавать имена

...
select new { Field1 = a.A, Field2 = a.B }

оба варианта можно комбинировать

...
select new { a.A, Filed1 = a.A } // не будет конфликтов
READ ALSO
Прерывается работа couroutine (Unity3d)

Прерывается работа couroutine (Unity3d)

Всем приветПишу Space Shooter

349
Насколько верное решение placeholder textbox c#?

Насколько верное решение placeholder textbox c#?

Искал в интернете как сделать placeholder для TextBox но не нашел компактного кода и решил изобрести еще один велосипед

418
Сравнение типов значений

Сравнение типов значений

Доброго времени сутокСуть - есть метод:

252