gpt4 book ai didi

c# - JavaScriptSerializer [ScriptIgnore] 对虚拟属性无效?

转载 作者:行者123 更新时间:2023-11-30 18:59:16 25 4
gpt4 key购买 nike

我返回了一个 Json(myObj) 操作结果。 myObj 是 Badge 类型

Badge 仅有的两个可能导致序列化程序循环的对象是:

public class Badge
{
public Badge() { }

public Badge(String Name, String Description)
{
this.Name = Name;
this.Description = Description;
}

[ScriptIgnore]
public virtual BadgeType BadgeType { get; set; }
[ScriptIgnore]
public virtual ICollection<User> Users { get; set; }

public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string PrerequisiteCriteriaRef { get; set; }

//PrerequisiteID

public static Badge CreateForSeeder(BaseDBContext db, String Name, String Description, int TypeID)
{
Badge b = new Badge();
b.Name = Name;
b.Description = Description;
b.BadgeType = db.BadgeTypes.Where(x => x.TypeID == TypeID).FirstOrDefault();
return b;
}
}

我已经赋予了属性,但它根本没有帮助......?

最佳答案

您应该将 ScriptIgnoreApplyToOverrides 参数设置为 true:

[ScriptIgnore(ApplyToOverrides = true)]

关于c# - JavaScriptSerializer [ScriptIgnore] 对虚拟属性无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12013745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com