C# 将对象Linq序列化为SQL

C# 将对象Linq序列化为SQL,c#,sql,.net,linq,web-services,C#,Sql,.net,Linq,Web Services,我在LINQ中有以下表格结构: 目标id是资源表中的外键,它是目标表中的主键 我希望有这样的输出: { ID: '123', user_id: '1', skill_id:'1', name:'abcs' ... objective_resource: { ID: '123', ... } } 为此我尝试了: using (DataTableClassesDataContext context

我在LINQ中有以下表格结构:

目标id是资源表中的外键,它是目标表中的主键

我希望有这样的输出:

{
    ID: '123',
    user_id: '1',
    skill_id:'1',
    name:'abcs'
    ...
    objective_resource: 
    {
        ID: '123',
        ...
    }
}
为此我尝试了:

 using (DataTableClassesDataContext context = new DataTableClassesDataContext())
            {
                DataLoadOptions opts = new DataLoadOptions();
                opts.LoadWith<objective_resource>(u => u.objective_id);
                context.LoadOptions = opts;

                return new JavaScriptSerializer().Serialize(context.objective_resources
                    .Where(u => u.id == 1)
                    );
            }
我想要:

{
        ID: '123',
        user_id: '1',
        skill_id:'1',
        name:'abcs'
        ...
        objective_resource: 
        {
            ID: '123',
            ...
        }
    }
请帮帮我


如何获取输出???

将dbml文件中的关联属性更改为

并将代码编写为

var data= dataContext.objectives;
return new JavaScriptSerializer().Serialize(data);

好奇,你的POCO里有数据注释吗?没有,先生,没有present@BillGreerJSON是正确的,他正在序列化单个目标资源及其关联的父目标。@BenRobinson:是的。如果他选择LoadWith(u=>u.id);它有更好的工作机会。
var data= dataContext.objectives;
return new JavaScriptSerializer().Serialize(data);