相关疑难解决方法(0)

带有MVC3和EF4 CTP5w的JSON序列化的循环引用异常

当我尝试序列化通过EF4 CTP5返回的对象时,我遇到循环引用问题.我使用代码第一种方法和简单的poco为我的模型.

我已经将[ScriptIgnore]属性添加到任何提供对对象的反向引用的属性,并且令人烦恼的是,如果我手动实例化poco,它们似乎工作正常,即它们串行化为JSON,并且确认了scriptignore属性.但是,当我尝试序列化从DAL返回的对象时,我得到循环引用异常"序列化'System.Data.Entity.DynamicProxies.xxxx'类型的对象时检测到循环引用"

我已经尝试了几种方法来检索数据,但他们都遇到了这个错误:

    public JsonResult GetTimeSlot(int id) {
        TimeSlotDao tsDao = new TimeSlotDao();
        TimeSlot ts = tsDao.GetById(id);
        return Json(ts);
    }
Run Code Online (Sandbox Code Playgroud)

下面的方法效果稍好,而不是时间段动态代理对象导致循环引用其为约会对象.

    public JsonResult GetTimeSlot(int id) {
        TimeSlotDao tsDao = new TimeSlotDao();
            var ts = from t in tsDao.GetQueryable()
                 where t.Id == id
                 select new {t.Id, t.StartTime, t.Available, t.Appointment};
        return Json(ts);
    }
Run Code Online (Sandbox Code Playgroud)

这个问题的任何想法或解决方案?

更新 我希望尽可能使用开箱即用的序列化器,尽管Json.Net通过nuget可以替代我希望它可以像我预期的那样使用它...

c# asp.net entity-framework-4 entity-framework-ctp5 asp.net-mvc-3

13
推荐指数
1
解决办法
1万
查看次数

如何使用asp .net web api,实体框架和json(代码优先)来关联对象?

使用.NET客户端应用程序,我试图通过asp .net web api JSON发布一个包含对象B集合的对象A,创建一个LocalDB数据库并存储数据.然后再次获取对象A.

该应用程序包括3个项目.一个asp .net mvc 4 web api项目,一个.Net控制台应用程序和一个.Net类库.asp .net应用程序和控制台应用程序都引用类库,其中包括对象A和B的类定义.

班级图书馆:

public class Actor
{
    public Actor()
    {
        this.Movies = new HashSet<Movie>();
    }

    public int ActorID { get; set; }
    public string Name { get; set; }

    public virtual ICollection<Movie> Movies { get; set; }
}

public class Movie
{
    public Movie()
    {
        this.Actors = new HashSet<Actor>();
    }

    public int MovieID { get; set; }
    public string Name { get; set; }

    public virtual ICollection<Actor> Actors { get; …
Run Code Online (Sandbox Code Playgroud)

.net asp.net-mvc json entity-framework code-first

4
推荐指数
1
解决办法
3050
查看次数