使用newtonsoft.json和linq-to-sql序列化父/子关系
我有个问题。我有一个表tblitems,它有一个主键,主键有一个子表tblweeks,通过外键链接。使用json.net序列化json时,即使引用循环处理设置为referenceloophandling.ignore,它也会为链接到它的每个tblweekof序列化父tblitem类。我不希望这样,但我仍然希望子类中的一些字段。在我的linq查询中,有没有一种方法可以只从子表中选择一些列,或者我必须中断这些关系?我很困惑,这似乎真的是出乎意料的行为 更新使用newtonsoft.json和linq-to-sql序列化父/子关系,linq-to-sql,json.net,Linq To Sql,Json.net,我有个问题。我有一个表tblitems,它有一个主键,主键有一个子表tblweeks,通过外键链接。使用json.net序列化json时,即使引用循环处理设置为referenceloophandling.ignore,它也会为链接到它的每个tblweekof序列化父tblitem类。我不希望这样,但我仍然希望子类中的一些字段。在我的linq查询中,有没有一种方法可以只从子表中选择一些列,或者我必须中断这些关系?我很困惑,这似乎真的是出乎意料的行为 更新 好的,我现在有点想要的了,我发现我可以使用
好的,我现在有点想要的了,我发现我可以使用子表上的select函数来只选择某些列,但是什么是最好的方式来调整子记录的顺序呢?在本例中,我想确保它们是由weekof订购的:
var q = from lineITem in db.tblBroadcastEntryItems
where lineITem.broadcastID == Int32.Parse(context.Request.QueryString[0])
select new
{
...,
week = lineITem.tblBroadcastEntryWeeks
.Select(c => new { c.weekof, c.spots, c.id })
};
发布您的代码、数据、您现在获得的输出以及您试图获得的输出。好的,我现在有点想要的,但我想在子表上执行order by,以按周升序对其进行排序。这是我到目前为止的linq查询。我可以将订单放在何处,以便在周集合中,它总是由db.tblBroadcastEntryItems中的weekof var q=from lineITem排序,其中lineITem.broadcastID==Int32.Parse(context.Request.QueryString[0])选择new{…,week=lineITem.tblBroadcastEntryWeeks.select(c=>new{c.weekof,c.spots,c.id});