Tôi nhận được lỗi này cho truy vấn bên dưới
Không thể tạo giá trị không đổi của loại
API.Models.PersonProtocol. Chỉ các kiểu nguyên thủy hoặc kiểu liệt kê được hỗ trợ trong ngữ cảnh này
ppCombineddưới đây là một IEnumerableđối tượng của PersonProtocolType, được xây dựng bởi concat của 2 PersonProtocoldanh sách.
Tại sao điều này thất bại? Chúng ta không thể sử dụng JOINmệnh đề LINQ bên trong SELECTcủa một JOIN?
var persons = db.Favorites
.Where(x => x.userId == userId)
.Join(db.Person, x => x.personId, y => y.personId, (x, y) =>
new PersonDTO
{
personId = y.personId,
addressId = y.addressId,
favoriteId = x.favoriteId,
personProtocol = (ICollection<PersonProtocol>) ppCombined
.Where(a => a.personId == x.personId)
.Select( b => new PersonProtocol()
{
personProtocolId = b.personProtocolId,
activateDt = b.activateDt,
personId = b.personId
})
});