将对象Linq序列化为SQL

时间:2014-09-12 12:02:37

标签: c# sql .net linq web-services

我在LINQ中有以下表结构:

enter image description here

objective_id是Resource表中的外键,它是Objective表中的PK。

我希望输出如下:

{
    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',
            ...

objective:
  {

        ID: '123',
        user_id: '1',
        skill_id:'1',
        name:'abcs'
        ...

    }
 }

我想要:

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

请帮帮我。

我如何获得输出???

1 个答案:

答案 0 :(得分:1)

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

enter image description here

并将代码编写为

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