循环引用 - LINQ to SQL

时间:2010-06-22 07:46:16

标签: asp.net-mvc linq-to-sql

HI

我正在使用带有ajax绑定的telerik mvc网格

<%Html.Telerik().Grid<UserManagement.Models.setupEmployee>()
        .Name("setupEmployees")
            .DataBinding(dataBinding => dataBinding
                //Ajax binding 
                .Ajax()
                //The action method which will return JSON 
                       .Select("_AjaxBindingEmployee", "UM")

            ).
            Columns(colums =>
            {
                colums.Bound(o => o.EmployeeName).Title("Name");
                colums.Bound(o => o.setupDesignation.Title).Title("Designation");
                colums.Bound(o => o.Gender);
                colums.Bound(o => o.DOB);
                colums.Bound(o => o.EmployeeID).Format( 
              %><%Html.ActionLink("Edit", "Edit", new { Id = "{0}" }).ToString()).Encoded(false);
            })
        .Pageable()
        .Sortable()
        .Filterable()
        .PrefixUrlParameters(false)        
        .Render(); 
  %> 

当我尝试使用

填充网格时
return db.setupEmployees 

我收到以下错误

在序列化类型的对象时检测到循环引用。因为我有这个表与其他表的关系。 为了避免这种情况,我可能有两个选项:我使用viewmodel或禁用不可能的关系。来自你身边的任何其他事件

此致

1 个答案:

答案 0 :(得分:1)

LinqToSql设计器中创建的关联在您的控制之下。

您可以删除它们(不会更改数据库)。

您可以对它们进行编辑,使它们生成单面属性而不是双面属性(不会更改数据库)。

您可以对它们进行编辑,使它们根本不生成任何属性(不会更改数据库)。

设计者的文件是一个映射文件,它不会更改数据库。