Я пытаюсь вернуть POCO в службе WCF WebHttp.Я использую EntityFramework 4.1 и генерирую объект. Созданный объект создается с использованием генератора DbContext.
Все работает хорошо с EF.Я могу запросить базу данных и работать с сущностями.Проблема исходит от моего сервиса WebHttp.Когда я пытаюсь вернуть список этих сущностей, я получаю ошибку 324 (пустой ответ), а когда я пытаюсь вернуть один объект сущности, я получаю ошибку WCF - «Ошибка запроса».Страница справки службы выглядит нормально, а примеры ответов в порядке.
Я протестировал службы, возвращая только имя субъекта, меняя тип возвращаемых служб на List и string.Это прекрасно работает.
Я предположил (просмотрев учебник по службе WCF WebHttp ), что нет необходимости добавлять [Serialize ()] или другие атрибуты к сущностям.
Я заблудился, как вы, почему служба не вернет сущность.
Спасибо за любую помощь.ROB
Вот код службы ...
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class SearchService
{
[WebGet(UriTemplate = "Students")]
public List<coop_Students> GetStudents()
{
List<string> ret = new List<string>();
CottageDataEntities db = new CottageDataEntities();
var students = from s in db.coop_Students
where s.status == "enrolled"
orderby s.lastname, s.firstname
select s;
return students.ToList();
}
[WebGet(UriTemplate = "Echo/{text}")]
public string Echo(string text)
{
return "Hello " + text;
}
[WebGet(UriTemplate = "Students/{studentID}")]
public coop_Students GetStudent(string studentID)
{
using (CottageDataEntities db = new CottageDataEntities())
{
int id = int.Parse(studentID);
var student = db.coop_Students.FirstOrDefault(s => s.studentID == id);
return student;
}
}
}