我有一个SOA应用程序。 1.数据层:实体框架 2.服务层:WCF 3.表示层:silverlight
现在,在silverlight中我想使用数据层中的数据类型。我无法添加对实体框架的直接引用,因为Silverlight正在使用不同的.net CLR。所以我添加了一个服务引用,希望它能在reference.cs中重新创建类型。但是,它仍然无效。服务调用返回错误消息“远程服务器返回错误:NotFound。”。只有当服务函数将实体框架数据类型作为返回类型时,才会发生这种情况。如果函数返回像字符串这样的公共类型,那么一切都会起作用。所以我几乎可以肯定问题是由类型转换引起的。
有人知道如何在Silverlight项目中引用实体框架中定义的数据类型。
非常感谢!
答案 0 :(得分:2)
我认为将实体数据模型暴露给Silverlight客户端时的当前推荐做法是使用新的.NET WCF RIA服务。这是一个截屏视频:
http://www.silverlight.net/learn/videos/all/net-ria-services-intro/
这是.NET RIA Services的主页:
答案 1 :(得分:0)
我能够简单地添加对返回实体类型的WCF服务的引用。当您这样做时,Visual Studio将在Silverlight项目中构建类似的类型。
另一种选择是在Entity Framework 4中使用POCO选项。如果在.NET中创建类库,然后在Silverlight中创建一个相同的类库(您可以使用“添加为链接”添加.NET类) ,您应该能够在Silverlight应用程序中使用相同的类型,只需确保在服务引用配置中检查“在指定的引用程序集中重用类型”。