2015-11-16 4 views
0

Я два Entities В VS 2015 ModelКак включить производные столбцы таблицы внутри Json (вложенный)

enter image description here

Halaqat_Test (Parent) имеет Primary Key (MsqID) Halaqat_Test2 (ребенок) имеет FOREIGN Key (MsqID)

нет никакой связи или какой-либо ассоциации между этими двумя объектами. вчера я связываю каждую сущность с другой. с помощью этого кода

var result = db.Halaqati_Test.GroupJoin 
    (db.Halaqati_Test2, 
    c => c.msq_id, 
    s => s.MsqID, 
    (c, s) => new { Mosque = c, Rings = s }); 

    return result; 

, но проблема в том, что ребенок Table столбцов Halaqati_Test2 (не входят в родительской собственности In The Json)

это выглядит следующим образом:

[ 
    { 
    "Mosque": { 
     "msq_id": 3, 
     "MsqName": "Center 1", 
     "RowNum": 1 
    }, 
    "Rings": [ 
     { 
     "RingID": 613, 
     "RingName": "aaaa", 
     "MsqID": 3, 
     "RowNum": 231 
     }, 
     { 
     "RingID": 614, 
     "RingName": "bbb", 
     "MsqID": 3, 
     "RowNum": 232 
     }, 
     { 
     "RingID": 615, 
     "RingName": "ccc", 
     "MsqID": 3, 
     "RowNum": 233 
     } 
    ] 
    } 
] 

, но это должно и ожидаемый json:

[ 
    { 
    "Mosque": { 
     "msq_id": 3, 
     "MsqName": "Center 1", 
     "RowNum": 1, 
     "Rings": [ 
     { 
      "RingID": 613, 
      "RingName": "aaaa", 
      "MsqID": 3, 
      "RowNum": 231 
     }, 
     { 
      "RingID": 614, 
      "RingName": "bbb", 
      "MsqID": 3, 
      "RowNum": 232 
     }, 
     { 
      "RingID": 615, 
      "RingName": "ccc", 
      "MsqID": 3, 
      "RowNum": 233 
     } 
     ] 
    } 
    } 
] 

Update

enter image description here Я хочу, как производный объект от Halaqati_Test2 как (родителя) в view_stdwithrings (Детский)

Halaqati_Test2.RingID = view_stdwithrings.rg_id 

, как я могу сделать, что уровень под колец, так будет кольца имеют больше, чем один ученик Что мне делать, чтобы убедиться, что ребенок входит в родительский узел.

+0

Почему вы не хотите создавать отношения между этими таблицами? –

+0

@ HamletHakobyan спасибо за ваши усилия, на самом деле это не таблицы, а причина. – Loai

+0

Почему у вас нет двух связанных таблиц? Если у вас есть ограничение внешнего ключа на одном и сначала используется модель базы данных, должны быть свойства навигации. –

ответ

1

Именно эта строка выбирает - таким образом создается результирующая структура json. Поскольку вы выбираете «мечеть» и «Кольцо» на тот же уровень, вы получите структуру JSon, которая отражает это:

(c, s) => new { Mosque = c, Rings = s }); 

Попробуйте изменить его:

(c, s) => new { Mosque = new { msq_id = c.msq_id, MsqName = c.MsqName, RowNum = c.RowNum, Rings = s }}); 

(Отказ от ответственности: я не имею среда кодирования здесь, поэтому я не могу проверить этот код)

+0

Могу ли я проснуться, чтобы добавить ребенка под ** Кольца ** Сущность? – Loai

+0

Да, вы можете сделать то же самое для колец, что и для Mosque – Dietz

+0

. Я пытаюсь сделать это с помощью ** select new {MsqID = m.MSQ_ID, MsqName = m.MSQ_Name, Rings = r, Student = s}) ** но я даю результат на том же уровне, ** M ** является родителем, ** r ** является дочерним элементом M, ** s ** является дочерним элементом r – Loai

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