У меня возникло много тупиков по этому вопросу. Предположительно,.NET 3.5 SP1 поддерживает поддержку Entity Framework ADO.NET в контрактах WCF. Но когда я ищу твердую информацию об этом, я не получаю много ответов. Я нашел этот фрагмент в потоке MSDN. У кого-нибудь есть опыт? Что случилось с [DataContract]? Это все для этого? Почему так мало материала?
Это ответ Тима Маллалье в Microsoft.
Типы сущностей, которые генерируются в Entity Framework, по умолчанию представляют собой Контракты данных. Если бы мне пришлось создать простую модель в Entity Designer, например: Тип Entity Cart по умолчанию является DataContract со всеми свойствами, аннотированными как элементы данных. Затем мы можем использовать это в службе WCF следующим образом:
[ServiceContract]
public interface IService1
{
[OperationContract]
Cart[] AllCarts();
}
public class Service1 : IService1
{
public Cart[] AllCarts()
{
using (MSPetShop4Entities context = new MSPetShop4Entities())
{
var carts = from c in context.Carts select c;
return carts.ToArray();
}
}
}
Поскольку объекты являются DataContracts, теперь вы можете свертывать свои службы по своему усмотрению и отправлять их по проводке.