小编Mar*_*šić的帖子

EF 4.1 + MVC + JSON循环引用异常的最佳解决方案?

我正在使用EF 4.1 Database First方法,T4模板在单独的程序集中生成我的POCO类.我有用于获取数据的存储库,以及用于与UI通信的服务层.

我试图制作级联下拉列表.我是MVC和EF 4.1的新手,因此我搜索了stackoverflow以寻找可能的解决方案.

这是示例viewmodel类:

public class MyViewModel
{
public int CustomerId { get; set; }
public string CustomerName { get; set; }
public IEnumerable<Phone> Phones { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我所读到的解决方案是:

  1. 使用ScriptIgnoreAttributeSystem.Web.Script.Serialization上引用的属性-我真的不希望这样做,因为我不想在我的POCO项目中添加引用的System.Web

  2. 禁用EF 4.1 DbContext中的延迟加载 - 我不确定是否要使用"包含彻底的项目"

  3. 返回匿名类型 - 当我的项目变大时,我会遇到这种方法的问题吗?

  4. 使用ViewModel - 假设我有一个可以拥有一部或多部手机的客户.在第一个下拉列表中,您可以选择客户,在第二个下拉列表中显示他的所有手机.
    但是这不会在我的Phones对象上生成循环异常吗?或者我会为我的Phone对象制作一个特殊类?这似乎是很多不必要的代码.

  5. 使用AutoMapper - 没有使用AutoMapper的经验,所以我不知道它有多复杂.

你会投票给谁,为什么?

.net json circular-reference entity-framework-4.1 asp.net-mvc-3

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