在 WPF、Silverlight 和 ASP.NET 之间共享相同数据访问层的最佳方法/技术是什么?
我正在使用 ADO.NET Entity Framework ,并且正在考虑使用存储库模式创建 DAL。然后使用 RIA 服务作为虚拟中间人来连接 Silverlight 和 ASP.NET。这是一个可靠的计划还是还有其他更好的解决方案?
最佳答案
我喜欢使用的解决方案之一如下: - 有一个仅存储实体(例如:玩家、游戏、实体)的项目,根本不引用数据库。 - 有一个实现存储库模式的项目(存储库,存储库等......) - 使用 ADO.NET Entity Framework 代码优先方法来映射数据库(它创建项目中包含的实体的动态子对象,请参阅 ScottGu 的博客以获取有关如何使用它的说明)
可以使用 Ria 服务或经典 WCF 服务将 Silverlight 连接到您的模式。通常,我会尽可能尝试使用 WCF,因为 Ria 服务并不真正符合 MVVM 开发。
如果您想要使用 WCF 并与 Silverlight 共享您的 DAL 实体,您可以创建一个 MyDal.Silverlight Silverlight 类库项目,并添加符号链接(symbolic link)而不是您想要与 Silverlight 共享的每个实体的副本。然后,当您使用 Visual Studio 添加服务引用时,它会足够智能,不会为您的 Silverlight 项目创建玩家、游戏和用户的副本。
如果您想使用 Ria 服务,它无论如何都会创建您实体的副本。
希望有帮助
约翰
关于asp.net - 在 WPF、Silverlight 和 ASP.NET 之间共享公共(public) DAL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3861457/