AddAdoptionDetails 'не является допустимым типом метаданных для операций фильтрации типов.Фильтрация типов действительна только для типов сущностей и сложных типов. - PullRequest
0 голосов
/ 09 мая 2019

Я получаю эту ошибку AddAdoptionDetails 'не является допустимым типом метаданных для операций фильтрации типов. Фильтрация типов действительна только для типов сущностей и сложных типов

Мой класс модели имеет некоторые свойства, и я скопировал мой класс модели, показанный ниже.

public class AddAdoptionDetails
{
    [Required]
    [MinLength(3, ErrorMessage = "Please enter at least 3 characters")]
    public string firstName { get; set; }

    [Required]
    public string lastName { get; set; }

    [Required]
    [RegularExpression("^[a-zA-Z0-9_\\.-]+@([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$", ErrorMessage = "E-mail is not valid")]
    public string email { get; set; }

    [Compare("email", ErrorMessage = "The email and confirmation email do not match.")]
    public string ConfirmEmail { get; set; }

    [Required]
    [MinLength(4, ErrorMessage = "Please enter at least 3 characters")]
    public string address { get; set; }

    [Required]
    [DataType(DataType.PhoneNumber)]
    [RegularExpression(@"^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$", ErrorMessage = "Not a valid phone number")]
    public string phone { get; set; }
    [Range(1, int.MaxValue, ErrorMessage = "Please enter a value bigger than {1}")]
    public int tearm { get; set; }
    [Required]
    public string animals { get; set; }
    [Required]
    public string adoptionDate { get; set; }
    [Required]
    [Range(1, int.MaxValue, ErrorMessage = "Amount value bigger than {1}")]
    public string totalAmount { get; set; }

    public bool isActive { get; set; }

    public List<AnimalAdaptionDetails> animalAdaptionDetails { get; set; }
} 

Мой класс контроллеров:

Это мой класс контроллера, я использовал соединения LINQ, мне нужно преобразовать список в строго типизированное представление модели

List<AddAdoptionDetails> Query = _context.AnimalsAndBirdsAdoptions.Join(_context.UserDetails, animal => animal.DonarDetailsId, usr => usr.Id, (animal, usr) =>
             new
             {
                 firstName = usr.FirstName,
                 lastName = usr.LastName,
                 address = usr.Address,
                 email = usr.Email,

                 AnimalsAndBirdsId = animal.AnimalsAndBirdsId,
                // DonarDetailsId = animal.DonarDetailsId,
                Term = animal.Term,
                 PeriodOfAdoption = animal.PeriodOfAdoption,
                 isActive = animal.isActive
             }).Join(_context.NameOfAnimalsAndBirds, adoption => adoption.AnimalsAndBirdsId, animal => animal.Id, (adoption, animal) =>
                 new
                       {
                           adoption,
                           animal
                       }).GroupBy(x =>
                       new
                       {
                           x.adoption.firstName,
                           x.adoption.lastName,
                           x.adoption.address,
                           x.adoption.email,
                           x.adoption.Term,
                           x.adoption.PeriodOfAdoption,
                           x.adoption.isActive
                       }).
                      Select(g =>
                      new
                      {
                          totalAmount = g.Sum(e => e.animal.Amount),
                          g.Key.firstName,
                          g.Key.lastName,
                          g.Key.address,
                          g.Key.email,
                          g.Key.Term,
                          g.Key.PeriodOfAdoption,
                          g.Key.isActive,

                      }).OfType<AddAdoptionDetails>().ToList(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...