Я занимаюсь разработкой приложения с использованием кода Entity Framework 4.1 и MVC3. Вот три объекта, которые у меня есть, в основном, State => City => Locality.
public class State {
public virtual List<City> Cities { get; set; }
}
public class City {
public virtual List<Locality> Localities { get; set; }
public virtual State State { get; set; }
}
public class Locality {
public virtual City City { get; set; }
}
Видно, что я использую двунаправленные отношения для всех трех сущностей. Джсон этого не допускает, поэтому я несколько расстроен. По сути, мне нужно ориентироваться в любом направлении. Например, учитывая город, я хочу иметь возможность легко найти штат, к которому он принадлежит.
Я просканировал сеть и наткнулся на пару обходных путей, но ни один из них не подходит моему сценарию. Первым было сделать отношения однонаправленными (кто это сделает!), А я этого не хочу. Другим было представить ViewModel только с теми свойствами, которые мне нужны, но тогда это означало бы дублирование кода, если мне нужно регулярно использовать все поля Entity. Также мой контроллер будет залит этими свойствами. Так что мне это тоже не нравится.
Я думал, что это просто базовые вещи, но сейчас я изо всех сил пытаюсь найти работоспособное решение. Если у кого-то есть лучшая альтернатива (возможно, что-то в MVC3), пожалуйста, помогите мне.