我使用Visual Studio 2013,我想创建一个带有Entity Framework的WCF服务来访问数据库。
我使用SQL Server Express创建了一个简单的数据库(例如,2个表:User
和Formation
,其中IdUser
作为Formation
表中的外键
我创建了一个新的WCF服务,并添加了一个链接到我的数据库的ADO.NET实体数据模型(.edmx
)。
我还创建了一个返回所有Users
的方法。当我在WCF测试用户或控制台应用程序中尝试该方法时,出现CommunicationException
错误。
但如果我删除User表中的外键,它可以正常工作......
我的GetUsers()
方法:
public List<User> GetUsers()
{
MyContext db= new MyContext();
var s =(from w in db.User
select w).ToList();
return s;
}
答案 0 :(得分:0)
据我所知,EF生成的类不会用WCF序列化,因此你需要创建另一个类[DataContract]和datamenber,然后发送该类的对象返回
请看一下这个
http://www.codeproject.com/Articles/127395/Implementing-a-WCF-Service-with-Entity-Framework