public IList<Event> SearchEvents(DateTime fromDate, DateTime toDate, int categoryId, string eventName )
{
var query = context.Events.Include("City").Where(e => e.EventCategoryID == (categoryId <= 0 ? e.EventCategoryID : categoryId)
&& (e.StartDate.Value.Month >= fromDate.Month)
&& (e.EndDate.Value.Month <= toDate.Month)
&& ( e.StartDate.Value.Day>= fromDate.Day)
&& (e.EndDate.Value.Day <= toDate.Day )
&& (e.StartDate.Value.Year >= fromDate.Year)
&& (e.EndDate.Value.Year <= toDate.Year)
&& string.IsNullOrEmpty(eventName)? eventName.Contains(e.EventName): eventName.Contains(eventName));
return query.ToList();
}
public JsonResult SearchEvents(string from,string to,int categoryId, string eventName)
{
DateTime frmDate= Convert.ToDateTime(from);
DateTime toDate = Convert.ToDateTime(to);
var list = _eventRepository.SearchEvents(frmDate,toDate,categoryId,eventName);
return Json(list, JsonRequestBehavior.AllowGet);
}
я получаю сообщение об ошибке типа:
Error :' A circular reference was detected while serializing an object of type 'CGWeb.Models.Repositories.Models.Event'.
как решить эту проблему, не удаляя виртуальное ключевое слово?@Marc Gravell Это моя модель
[Table("Table_Events")]
public partial class Event
{
[Key]
public int ID { get; set; }
//public int? LocationId { get; set; }
//public int? ImageId { get; set; }
public string EventName { get; set; }
[NotMapped]
public string EventAddress { get; set; }
public string EventUrl { get; set; }
public string EventDesc { get; set; }
public Nullable<System.DateTime> StartDate { get; set; }
public Nullable<System.DateTime> EndDate { get; set; }
public Nullable<int> EventCategoryID { get; set; }
public int CityID { get; set; }
public int Viewed { get; set; }
[ForeignKey("EventCategoryID")]
public virtual EventCategory EventCategory { get; set; }
//[ForeignKey("ImageId")]
[NotMapped]
public virtual ImageViewModel Image { get; set; }
//[ForeignKey("LocationId")]
//public virtual Location Location { get; set; }
[ForeignKey("CityID")]
public virtual City City { get; set; }
[NotMapped]
public bool ISSponsorship { get; set; }
[NotMapped]
public Organizer Organizer { get; set; }
//[NotMapped]
[ForeignKey("EventId")]
public virtual IList<Attending> Attending { get; set; }
}