Следующая переменная funcionario
определена как показано ниже:
var funcionario = db.Funcionario.Where(F => F.Email == vm.idFuncionario).Include(F => F.Grupo);
возвращает IQueryable<Funcionario>
, который не может быть преобразован прямо или косвенно, как вы делаете в строке ниже:
ex.Funcionario = funcionario as Funcionario;
Сначала вы должны выполнить запрос, чтобы он возвратил один экземпляр Funcionario
, поэтому просто используйте это:
var funcionario = db.Funcionario
.Where(F => F.Email == vm.idFuncionario).Include(F => F.Grupo)
.SingleOrDefault();
ex.Funcionario = funcionario;
SingleOrDefault()
выполняет запрос и возвращает один экземпляр Funcionario
.
Мой код делает вид, что «functionario» уникален для каждого электронного письма. Если вы считаете, что для того же электронного письма должно быть больше «functionario», просто замените SingleOrDefault()
на FirstOrDefault()
.
Примечание: вы можете передать условие непосредственно в метод SingleOrDefault()
, как показано ниже:
var funcionario = db.Funcionario
.Include(F => F.Grupo)
.SingleOrDefault(F => F.Email == vm.idFuncionario);
ex.Funcionario = funcionario;