2010-06-22 46 views
1

HI通函参考 - LINQ to SQL的

我使用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

在LinqToSql设计器创建的关联的任何其他sugession是你的控制之下。

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

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

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

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

+0

感谢您的回复,是的,它是一个映射文件,并没有改变数据库,但我需要在同一时间利用集合。请纠正我,如果我错了,我想如果我删除了关联,如果无法在上述代码中执行“o => o.setupDesignation.Title” – Tassadaque 2010-06-23 04:41:15

+0

您可以将它们设置为只生成父属性或仅生成儿童财产。这样他们不是循环的。 – 2010-06-23 10:41:06