Приведите объект в лямбда-выражения
Я использую EntityTypeConfiguration для сопоставления моей базы данных.
Проблема в том, что класс T_DOC_GENERIC наследует T_DOC, когда я устанавливаю свои отношения с WithMany, он ожидает объект T_DOC_GENERIC, который объявлен как T_DOC.
public class T_DOC_GENERICMapper : EntityTypeConfiguration<T_DOC_GENERIC>
{
T_DOC_GENERICMapper()
{
this.ToTable("T_DOC");
this.HasKey(tDoc => tDoc.ID);
this.HasOptional(tDoc => tDoc.T_TYPE)
.WithMany(tType => tType.T_DOC)
.HasForeignKey(tDoc => tDoc.COD_TYPE);
}
}
Не удается неявно преобразовать тип 'System.Collections.Generic.ICollection
Есть способ разыграть внутри лямбда-выражения?
Я пробовал явное приведение типа.WithMany((T_DOC)tType => tType.T_DOC), но я понятия не имею, как!
Кто-то может мне помочь?
1 ответ
Написать конвертер для преобразования / карты из T_DOC
в T_DOC_GENERIC
(тип возврата) в T_DOC
класс для выполнения этого броска:
public T_DOC_GENERIC ConvertToGeneric(T_DOC source)
{
T_DOC_GENERIC destination = new T_DOC_GENERIC(){};
/* Map T_DOC source to T_DOC_GENERIC destination here */
return T_DOC_GENERIC;
}
Вы можете добавить это к существующему классу или сделать его статическим, если хотите.