我有一个WCF项目,它连接到一个带有Entity Framework的数据库。
我正在尝试发送一个对象列表,其中一个变量属于GUID类型。
我正在将entity.Employees
转换为List<Employees>
,如果ID
为int
,一切正常,但如果我将其更改为GUID
,则崩溃时出现此错误消息:
接收到xxxxxxxxxxx的HTTP响应时发生错误:92389:service.svc。这可能是由于服务端点绑定不使用HTTP协议。这也可能是由于服务器中止HTTP请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志。
有人可以帮忙吗?
答案 0 :(得分:0)
您可以将GUID作为ToString()
传递。会更容易。
也许你应该看看[DataContract]和[DataMember]属性。
http://msdn.microsoft.com/es-es/library/ms733127(v=vs.110).aspx
我希望这会有所帮助
答案 1 :(得分:0)
您需要在客户端上重新生成客户端代理,因为您已更改数据协定中的属性类型。
答案 2 :(得分:0)
有一个解决方案: 如果你想避免将你的GUID转换为字符串,你可以简单地禁用代理。 在您的实体代码中添加以下内容:
YourContext.Configuration.ProxyCreationEnabled = false
但是你需要知道,如果你这样做,你将无法制作DML命令。
希望它对你有所帮助!