Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用newtonsoft.json和linq-to-sql序列化父/子关系_Linq To Sql_Json.net - Fatal编程技术网

使用newtonsoft.json和linq-to-sql序列化父/子关系

使用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查询中,有没有一种方法可以只从子表中选择一些列,或者我必须中断这些关系?我很困惑,这似乎真的是出乎意料的行为 更新 好的,我现在有点想要的了,我发现我可以使用

我有个问题。我有一个表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});