Я получаю эту ошибку 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();