Entity Framework вызывает циклические ссылки? - PullRequest
1 голос
/ 14 июля 2011

У меня проблема с EF Code First, и он жалуется на циклическую ссылку в сгенерированных прокси.Может быть, у нас есть конфликт соглашений, который заставляет EF создавать циклическую ссылку на лету?Набор данных не выдает ошибок при простой передаче непосредственно в сериализатор JSON.

/* Assume all dependencies and namespaces are referenced and used */

///the base object
public class A {
    [Key]
    public int AId { set; get; }

    //the tree
    public B MyB { set; get; }
}

//the tree nodes
public class B {
    [Key]
    public int BId { set; get; }
    public int AId { set; get; }
    public int ParendId { set; get; }
    public virtual ICollection<B> Children { set; get; }
}

///the context
public class ABContext : DbContext {
    public DbSet<A> As { set; get; }
    public DbSet<B> Bs { set; get; }
}

///later in a controller...
[HttpGet]
public JsonResult Get(string sid)
{
    int id = int.Parse(sid);
    using (ABContext abc = new ABContext()) {
        A a = abc.As.Where(i=>i.AId==id).Single();
        return Json(a, JsonRequestBehavior.AllowGet);
    }
}

Мысли и комментарии приветствуются!

Спасибо, Александр Бревиг

1 Ответ

0 голосов
/ 07 апреля 2012

У меня была такая же проблема.

http://garfbradazweb.wordpress.com/2011/09/22/mvc-3-entity-framework-and-serializing-jsoncircular-references/

Немного гуглил, и, похоже, JavaScriptSerializer заставляет его крутиться, пытаясь перебрать объекты Entity Framework, которые имеютотношения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...