目前我正在使用[JsonIgnore]
属性来避免模型中的循环引用。但我认为,它将应用于所有实现。如何避免在Linq to Sql查询中循环循环?
现在我使用像这个 -
我有两个型号:
public class Project
{
public int ProjectID { get; set; }
[Required]
public string ProjectName { get; set; }
public DateTime? EstimatedEndDate { get; set; }
public DateTime? ProjectStartDate { get; set; }
public string OrderNumber { get; set; }
public string ProjectDescription { get; set; }
public virtual List<ServiceObject> ServiceObjects { get; set; }
[Required]
public string RegardingUser { get; set; }
public string CreatedBy { get; set; }
public DateTime CreatedDate { get; set; }
public string ModifiedBy { get; set; }
public DateTime ModifiedDate { get; set; }
public bool IsProjectDeleted { get; set; }
[NotMapped]
public int? ServiceObjectTemplateID { get; set; }
}
彼此型号是 -
public class ServiceObject
{
public int ServiceObjectID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string RegardingUser { get; set; }
public int? ParentServiceObjectID { get; set; }
[ForeignKey("ParentServiceObjectID")]
public virtual List<ServiceObject> ServiceObjects { get; set; }
public int ProjectID { get; set; }
[JsonIgnore]
public virtual Project Project { get; set; }<---------------------------
public virtual List<ServicePicture> ServicePictures { get; set; }
public bool IsServiceObjectDeleted { get; set; }
public string CreatedBy { get; set; }
public DateTime CreatedDate { get; set; }
public string ModifiedBy { get; set; }
public DateTime ModifiedDate { get; set; }
}
但我想申请JsonIgnore
财产或任何其他属性在Linq to Sql中查询自己。我的意思是我想动态应用它。
查询是喜欢 -
var projectList = (from pro in context.Projects.All
select pro).ToList();
我希望有条件地适用。
在此先感谢。
属性必须在编译时应用,因此不能动态添加它们。 – TGH 2014-10-10 04:13:46
这意味着它将只适用于模型? – Abhinav 2014-10-10 04:15:34
是的,你必须在编译时将它们应用到你的属性。 – TGH 2014-10-10 04:16:29