Я пытаюсь получить вывод от Linq в определенном формате.Этот вопрос был перефразирован -
Представление SQL - SomeView
Id T_Id
4 2
6 5
6 7
Таблица SQL - Пользователь
T_Id fname lname
2 mary smith
5 john pope
7 steve blair
SomeView - это QueryType, я использовал DbQuery для его сопоставления.
public class SomeView
{
public int Id {get; private set;}
public int T_Id { get; private set; }
public User User { get; set; } //can't navigate here
}
public class User
{
public int T_Id { get; set; }
public string fname {get; set;}
public string lname{get; set;}
public SomeView SomeView{ get; set; } //can't navigate here
}
В базе данных не определено ограничение внешнего ключа, так как SomeView - это представление SQL.Вы не можете использовать навигацию с QueryType.Поэтому отображение между User и SomeView невозможно или я не знаю, как это сделать.
public class SomeViewModel
{
public int Id { get; set; }
public List Users{get; set;}
}
finally my linq in progress -
from t in SomeView
group new {t} by t.Id into grp
select new SomeViewModel{
Id = grp.Key,
Users = grp.Select(x => x.t.User).ToList()
//need help here to get Users based on T_Id
}
Окончательный вывод данных API должен быть в следующем формате.
[{
"Id" : "4",
"users":[{
"T_Id": 2,
"fname": "mary",
"lname": "smith"
}]
},
{
"Id" : "6",
"users":[{
"T_Id": 5,
"fname": "john",
"lname": "pope"
},
{
"T_Id": 7,
"fname": "steve",
"lname": "blair"
}
]
}]