Я работаю с базой данных сначала C# MVC, EF6, LINQ и JSon, чтобы попытаться передать данные как для Highcharts, так и для Google Maps для некоторых моих отчетов.Включить вложенные данные сущности, но не группировать их тогда при группировке по другим полям
Если бы я мог добавить изображение я бы показать вам соответствующую часть моей модели, но, к сожалению, мне нужно больше репутации, чтобы сделать это ...
та часть Entity Model я сосредоточен на прямо сейчас основан на центральном Docket, который содержит BuildingCode как часть отношения «один ко многим» к зданию с адресом и дальнейшим отношением к многоугольникам зданий (для сопоставления). Dockets также классифицируются одним или несколькими DocketTypes, и, таким образом, между Dockets и DocketTypes существует взаимосвязь «многие-ко-многим», которая напрямую не подвергается воздействию EF.
В качестве примера Docket, который представляет собой расследование, может быть связано с кражей мобильного телефона в здании A, расположенном на Campus X, не только украден мобильный телефон, но и нападавший также напал на жертву, чтобы украсть мобильный телефон. Итак, здесь есть 2 DocketTypes 1. Кража мобильного телефона и 2. нападение. Примечание: это фиктивно и только для иллюстрации.
Один из моих основных отчетов требует, чтобы я подсчитал, сколько типов docketTypes влияет на каждое здание и каждый кампус за определенный период. Когда я показываю это, мне также нужно показать, что такое DocketTypes.
У меня нет конца кошмара, пытаясь найти способ получить это право, я постоянно сталкиваюсь с круговыми опорными ошибками и нуждаюсь в использовании явных преобразований при попытке моделирования данных с помощью LINQ, чтобы я мог передать один вложенный объект через JSON на стороне клиента, где будет отображаться отображение.
В приведенном ниже коде мне сказали мне нужно Явное преобразование: Cannot implicitly convert type 'Campus_Investigator.ViewModels.DocketTypeViewModel' to 'System.Collections.Generic.IEnumerable<Campus_Investigator.ViewModels.DocketTypeViewModel>'. An explicit conversion exists (are you missing a cast?)
var currentDocketQuery = from d in db.Dockets
from dt in d.DocketTypes
from bp in d.BuildingDetail.BuildingPolygons
where d.OccurrenceStartDate >= datetime && d.BuildingDetail.CampusName == Campus
select new CampusBuildingDocketTypeViewModel()
{
BuildingCode = d.BuildingDetail.BuildingCode,
BuildingName = d.BuildingDetail.BuildingName,
//BuildingPolygons = d.BuildingDetail.BuildingPolygons,
DocketTypes = new DocketTypeViewModel()
{
Category = dt.Category,
SubCategory = dt.SubCategory,
ShortDescription = dt.ShortDescription
}
};
Я ценю любые идеи о том, как я могу явно преобразовать это или что лучший метод, который я могу использовать и избежать circular reference error
?
сообщение об ошибке ясно: вы хотите установить DocketTypes в возвращаемое значение в DocketTypeViewModel, однако это SET of DocketTypeViewModels. – DevilSuichiro
В классе 'CampusBuildingDocketTypeViewModel' DocketTypes определяется следующим образом:' public IEnumerable DocketTypes {get; задавать; } 'Так что не DocketTypes, а затем SET? –
Giles