У меня есть веб-служба WCF / REST, которую я планирую использовать Linq to SQL для возврата информации из базы данных.
] Достаточно легко выполнять базовые запросы к таблицам и возвращать строки, например:
[WebGet(UriTemplate = "")]
public List<User> GetUsers()
{
List<User> ret = new List<User>(); ;
using (MyDataContext context = new MyDataContext())
{
var userResults = from u in context.Users select u;
ret = userResults.ToList<User>();
}
return ret;
}
Но что, если я хочу вернуть данные из нескольких таблиц или они не совсем соответствуют схеме таблицы? Я не могу понять как вернуть результаты этого запроса, например:
var userResults = from u in context.Users
select new { u.userID, u.userName, u.userType,
u.Person.personFirstname, u.Person.personLastname };
Очевидно, что результирующий набор строк не соответствует схеме «Пользователь», поэтому я не могу просто преобразовать его в список объектов «Пользователь».
Я попытался сделать новый объект в моей объектной модели, связанный с набором результатов, но он не хочет выполнять преобразование.
Что мне не хватает?
Изменить: связанный вопрос: как насчет результатов, возвращаемых хранимыми процедурами? То же проблема, как лучше всего упаковать их для возврата через службу?