как преобразовать элемент e.item.dataitem в тип (из T)

#.net #vb.net #entity-framework #generics #itemdatabound

#.net #vb.net #entity-framework #общие сведения #itemdatabound

Вопрос:

Я пытаюсь сделать это в событии item_databound сетки данных в asp.net

 Dim EntType As EmployeeEntity = DirectCast(e.Item.DataItem, EmployeeEntity )
  

но я сталкиваюсь с ошибкой

Не удается преобразовать в класс EmployeeEntity

Класс EmployeeEntity имеет те же члены, что и элементы в e.Item.Элементы DataRowView элемента DataItem. итак, как еще мне привести содержимое, без необходимости фактически устанавливать каждое свойство EemployeeEnity по отдельности, из e.Item .Элемент данных?

Комментарии:

1. Элемент данных будет базовым представлением данных источника данных, к которому привязываются элементы datagrid. чаще всего вы найдете этот код. затемнить dr как datarow = Ctype(элемент e.DataItem, DataRowView).row

2. Я понимаю это. К чему вы привязываетесь?

3. К чему вы его привязываете ?

4. пытаюсь привязать его к списку (из EmployeeEntity).

5. Тогда DataItem должно быть EmployeeEntity . Что вы видите в отладчике?

Ответ №1:

Вы не можете волшебным образом превратить один тип в другой, даже если они имеют одинаковые свойства.

Вам нужно скопировать свойства самостоятельно.

Ответ №2:

Одним словом, AutoMapper