我有一个Silverlight Bussiness应用程序,我正在使用实体框架数据模型,我有一个名为Clients的实体类,有一些属性:Name,LastName,Address等。我需要创建一个继承自客户端的类上课,我需要这样的东西......
public class ClientWithSubClients : Clients
{
public bool HasSubClients { get; set; }
public List<Clients> SubClients { get; set; }
}
我需要它在同一个类,客户端的信息和SubClients的信息...在服务器端工作正常,但我需要在客户端使用它,在Silverlight项目中我无法看到班级定义......任何想法......
谢谢... Miguel
答案 0 :(得分:0)
您将无法直接在Silverlight中看到实体框架类型,因为EF依赖于完整的.net框架,并且在您的情况下是仅服务器技术。
要将EF类型公开给Silverlight客户端,您需要某种服务器端服务作为包装器。我已经使用WCF数据服务(http://msdn.microsoft.com/en-us/data/odata.aspx)来满足这个确切的要求,并且它运行得非常好。 WCF RIA服务(http://www.silverlight.net/learn/advanced-techniques/wcf-ria-services/get-started-with-wcf-ria-services)也是另一种选择。
我认为如果您只是让Silverlight客户端消耗您的数据,那么WCF RIA服务是最佳选择。如果您想要更广泛的服务,请使用WCF数据服务。
我们使用WCF数据服务,因为我们有Silverlight应用程序,WPF应用程序,甚至是使用这些服务的Excel电子表格。