2014-09-12 2 views
2

я следующая структура таблицы в LINQ:Сериализация объекта Linq для SQL

enter image description here

objective_id является внешним ключом в таблице ресурсов, который является PK в Objective таблице.

Я хотел бы иметь такой вывод:

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

Пожалуйста, помогите мне.

Как я могу получить выход ???

+0

Любопытно, есть аннотации данных в вашем POCO? –

+1

нет, сэр его нет –

+1

@BillGreer JSON верен, он выполняет сериализацию единственного объекта object_resource и связанную с ним родительскую цель. –

ответ

1

внести изменения в ассоциации собственности в DBML файла как

enter image description here

и написать код, как

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

Спасибо ... Его работа :) –

Смежные вопросы