English 中文(简体)
将实体数据模型实体作为JSON数据返回
原标题:Returning Entity Data Model Entities as JSON data

我注意到人们之前经常谈论这个循环引用问题,但从未发布解决方案。

I m talking about this error: "A circular reference was detected while serializing an object of type DocInvoice.Models.Clients ."

有人尝试使用Json.NET库将它序列化为JSON吗?

如果我有一些Linq to entities查询,那我的唯一选择是手动编写实体属性并排除那些导航属性吗?因为那些会引起问题...

这很烦人,因为你必须手写几十个(或更多)实体属性在Linq“new”语句中。例如,如果我想要所有的属性,我可以这样做,但它会导致循环引用错误:

var clients = from client in edmx.Clients
    from postcode in edmx.PostCodes
    where (client.client_firstname.StartsWith(q) ||
                   client.client_lastname.StartsWith(q)) && 
                   postcode.postcode == client.PostCodes.postcode
    select new {client, postcode};

唯一的其他选择是:

select new { client.client_id, 
             client.client_firstname, 
             ....., ... , 
             postcode.postcode
           }; ...
最佳回答

将其投射到匿名类型(您的第二个示例)是正确的方法。这是唯一防止您的代码在以后将属性添加到实体时泄露信息的方法。匿名类型明确限制了代码返回的内容。

问题回答

暂无回答




相关问题
WebForms and ASP.NET MVC co-existence

I am trying to make a WebForms project and ASP.NET MVC per this question. One of the things I ve done to make that happen is that I added a namespaces node to the WebForms web.config: <pages ...

Post back complex object from client side

I m using ASP.NET MVC and Entity Framework. I m going to pass a complex entity to the client side and allow the user to modify it, and post it back to the controller. But I don t know how to do that ...

Create an incremental placeholder in NHaml

What I want to reach is a way to add a script and style placeholder in my master. They will include my initial site.css and jquery.js files. Each haml page or partial can then add their own required ...

asp.net mvc automapper parsing

let s say we have something like this public class Person { public string Name {get; set;} public Country Country {get; set;} } public class PersonViewModel { public Person Person {get; ...

structureMap mocks stub help

I have an BLL that does validation on user input then inserts a parent(PorEO) and then inserts children(PorBoxEO). So there are two calls to the same InsertJCDC. One like this=>InsertJCDC(fakePor)...

ASP.NET MVC: How should it work with subversion?

So, I have an asp.net mvc app that is being worked on by multiple developers in differing capacities. This is our first time working on a mvc app and my first time working with .NET. Our app does not ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

热门标签