获取错误:JavaScript运行时错误:不支持value参数中的循环引用

sag*_*y36 3 javascript asp.net-mvc wcf jquery entity-framework-6

当尝试通过javascript编辑和保存ajax调用中的记录时,我收到上述主题错误.

我做了一些查找,我唯一能找到的是关于"compareByIdentity"属性的东西,在我的情况下我无法得到如何实现,如果是这样的话.

下面的类是有一对多关系的地方.许多"时间轨迹"可能有一个"项目".这是"TimeTrackings"的类,其中"ProjectID"是外键.

我正在使用WCF应用程序使用EF 6检索和编辑数据.这是我第一次在我的应用程序中遇到它.显然,由于建立关系的方式.

有人可以告诉我如何纠正这个错误?

namespace YeagerTechDB.Models
{
    using System;
    using System.ComponentModel.DataAnnotations;
    using System.Runtime.Serialization;

    [Serializable, DataContract(IsReference = true)]
    public partial class TimeTracking
    {
        [Key]
        [ScaffoldColumn(false)]
        [Editable(false)]
        [Display(Name = "Tracking ID")]
        [DataMember]
        public int TimeTrackingID { get; set; }

        [Required]
        [Display(Name = "Project ID")]
        [DataMember]
        public short ProjectID { get; set; }

        [Required]
        [DataType(DataType.Date)]
        [DataMember]

        public DateTime StartDate { get; set; }

        [Required]
        [DataType(DataType.Date)]
        [DataMember]

        public DateTime EndDate { get; set; }

        [DataType(DataType.MultilineText)]
        [DataMember]
        public string Notes { get; set; }

        [DataType(DataType.DateTime)]
        [DataMember]
        public DateTime CreatedDate { get; set; }

        [DataType(DataType.DateTime)]
        [DataMember]
        public DateTime? UpdatedDate { get; set; }

        [DataMember]
        public virtual Project Project { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

调试的输出如下.请复制图像并将其粘贴到您喜欢的图像查看器中以获得更好的细节.

请注意,TimeTrackingID 的正确设置为1. 在此输入图像描述

Chr*_*les 6

问题来自你JSON.stringify的第66行.

您正在将对象转换Tracking_Input为json. Tracking_Input.TimeTrackingID是一个具有id TimeTrackingID的dom元素的jquery数组,这不能转换为json.

你的意思$('TimeTrackingID').val()是匹配其他线路