Ria Services:使用两个数据模型

Posted

技术标签:

【中文标题】Ria Services:使用两个数据模型【英文标题】:Ria Services:working with two DataModels 【发布时间】:2012-08-04 00:59:28 【问题描述】:

我有两个 DB,我想在同一个 DataGrid 上加入来自它们的数据:

    来自第一个数据库的表事件,包含字段 Entry_Id 和描述 来自第二个数据库的表详细信息,带有文件 Entry_Id,分辨率

我正在向我的项目添加两个数据模型和两个 DomainService 类。 如何在一个 Datagrid 中显示相关数据并能够编辑分辨率字段?

提前致谢

【问题讨论】:

【参考方案1】:

如果它们位于不同的服务器上,或许可以考虑使用链接的 SQL 服务器表。请参见 sp_addlinkedserver。

否则,您可以在另一个数据库上创建视图。见TSQL: Create a view that accesses multiple databases

【讨论】:

崔,谢谢你的回答。我已经有一个链接服务器。创建一个新视图可能对我有帮助,我会验证 是的,这是最好的解决方案,因为我不必更新其中一个数据库,所以我通过链接服务器将数据带到我的本地数据库并创建一个视图,这就像拥有两个数据库在同一台服务器上【参考方案2】:

DomainServices 都是关于为您的应用程序提供特定于域的数据(“域”是指业务领域,而不是 TLD,这可能会导致一些混乱)。

如果您的数据来自两个外部服务,您将创建一个新的数据结构来保存组合数据并将其提供给您的应用程序。这与您的两个数据库的情况没有什么不同,所以...

您的域服务应该提供您的应用程序想要/需要的数据,仅此而已。创建一个包含您想要/需要的所有字段的类,并使用 LINQ 从两个数据库中填充它们。

RIA 旨在提供一种简单的方法来映射 C.R.U.D。调用方法。您在这些方法中做什么取决于您自己,但重点应该放在应用程序的需求上,而不是表中发生的事情。

【讨论】:

谢谢,魔术师。我会尝试这样做,我担心的是我有两个不同的 entityDataModel 和两个不同的 DomainServices,我不确定我能否将它们加入一个类。我会尝试一下,我会告诉你的。我还在这里找到了一个演练:msdn.microsoft.com/en-us/library/…。我也会尝试这个解决方案。再次感谢 @user995159:您只需要一个 DomainService 即可提供来自任意数量的数据库/数据模型的数据。

以上是关于Ria Services:使用两个数据模型的主要内容,如果未能解决你的问题,请参考以下文章

SQL 2008 R2 - Reporting Services,通过 Internet 使用带有 Report Builder 3 的数据模型导致崩溃,有啥想法吗?

如何在 WPF 应用程序中使用 WCF RIA SERVICES?

.NET RIA 服务/WCF 服务

Apache许可协议Open RIA Services

Power BI Online管理数据源 - Analysis Services

MVC 3 应用程序中的模型、视图模型、DTO