【问题标题】:database independent Silverlight application - possible?独立于数据库的 Silverlight 应用程序 - 可能吗?
【发布时间】:2010-03-10 00:25:36
【问题描述】:

我正在使用支持 MVVM 模式的 Silverlight 开发我的应用程序。现在我使用 Sql server 2008,但我开始考虑在未来使用 Oracle 和 XML 作为我的数据存储。我用 linq to sql 查询。

我可以使用这种模式来完全自动化并独立于我的应用程序的数据库吗?我只会替换几个参数(例如在 web.config 中)来更改数据库,并且我在后面的代码中尽可能少地编写代码......也许有机会以 MVVM 模式连接和实现它?

你怎么看?我发现在某些 db 中我会强制以其他方式编写查询(这将使代码加倍甚至三倍),因为 db 有其他数据类型..所以创建这么多独立的应用程序是个好主意?

【问题讨论】:

    标签: database linq-to-sql mvvm design-patterns independentsoft


    【解决方案1】:

    如果您将实体框架与具有 Silverlight 的 RIA 服务一起使用,您可能会非常轻松地将数据层换成不同的数据库提供者(前提是它支持 ADO.NET 实体框架)。

    使用 MVVM 是个好主意,但实际上与您的数据库独立性目标无关。它更像是一种将您的应用程序作为一个整体构建的模式(我建议您理解),但是数据库访问实际上是 Model-View-ViewModel 中模型层的所有部分,所以这不会“帮助”这个方面。

    【讨论】:

    • 我正在考虑使用带有数据存储的 WCF 服务作为模型。但我开始了解它,所以也许你建议我这是更好的还是 RIA 服务?我知道 ADO.NET 的一个特性是每个数据库都支持,但是不同的数据类型例如:如果我想从每个数据库类型的表中选择一些东西,我应该创建一个接口并为我想使用的每个数据库实现它? Oracle 中的原因是我在 SQL SERVER 中没有的数据类型,从它们中我将使用 linq 到 sql 进行查询,但是从 XML 我使用 linq 到 xml,所以我不认为 ADO.NET 是如此可交换。 ..
    • XML 不容易使用,但我强烈建议您查看 RIA 服务和实体框架。否则,您最终将编写大量代码来处理验证、更改跟踪、对象映射等 - 所有这些都将以一种高效、优雅的方式为您处理。
    • 我想避免大量代码,所以我尝试使用 RIA。但我没有任何经验,所以你能告诉我如何连接 Silverlight 应用程序、MVVM 和 RIA 吗?我只发现 RIA 可以是 MVVM 中的 ViewModel,但我必须从什么开始创建该项目?首先 Silverlight projectm 接下来为 MVVM 创建 3 个文件夹,并在 ViewModel 文件夹中放置 RIA 项目? o.O
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2012-01-15
    • 2011-07-21
    • 1970-01-01
    相关资源
    最近更新 更多