`
var eventEntity = events.Select(e => new EventEntity
{
EventId = e.EventId,
Name = e.Name,
Address = e.Address,
StartDate = e.StartDate,
EndDate = e.EndDate,
TicketMinPrice = e.Ticket.Select(t => t.Price).Min(),
TicketPrices = e.Ticket.Select(t => t.Price).ToList(),
//EventType = e.EventType.Name,
Artists = e.EventArtist.Select(a => a.Artist.FirstName).ToList(),
MusicGenres = e.EventMusicGenre.Select(a => a.MusicGenre.Name).ToList();
});
var userLat = 51.5213628;
var userLong = -0.03179300000000001;
var eventByLocation = _dbContext.Event.FromSqlInterpolated($"SELECT event_id, accessibility,address,country,postal_code,short_description,address_nr,city, state,dress_code_id,end_date,end_time,event_type,long_description,venue_name,policy_description,policy_minimum_age,start_date,start_time,name, latitude, longitude, 111.045 * haversine(latitude, longitude,{userLat},{userLong}) AS distance_in_km FROM event JOIN (SELECT 42.81 AS latpoint,-70.81 AS longpoint) AS p ORDER BY distance_in_km").ToList();
var size = await eventEntity.CountAsync();
var paginated = await eventEntity.Skip(pagingOption.Offset.Value)
.Take(pagingOption.Limit.Value)
.ToArrayAsync();
return new PagedResults<EventEntity>
{
Value = paginated,
TotalSize = size
};
}`
У меня есть сложный объект, который я присоединяю и сохраняю в событиях, а затем выбираю только нужные мне свойства в новом объекте eventEntity, однако мне нужно скомпоновать его с помощью хранимой процедуры eventByLocation, которая приносит результаты отсортированы по ближайшему. Кроме того, мне нужно сделать подсчет и я должен быть заинтересованным, когда я это сделаю.
Любая помощь будет оценена