在WPF DataGrid中显示来自不同数据库的字段的选项?

时间:2010-12-03 16:26:46

标签: wpf entity-framework

我正在使用.Net 4.0框架,C#,WPF,EF 4和FireBird。

我在数据网格中有一些数据(多字段客户编号)来自一个FireBird数据库中的表。在第二个FireBird数据库中,我有一个表,其中包含我需要在网格中显示的更多信息(客户编号以及客户名称)。表中的行数不超过一千行。

如果表位于同一个数据库中,这将是微不足道的。但是,因为我使用的FireBird数据库不支持跨数据库连接,所以我相信我必须在应用程序级别加入数据。

目前我只显示网格中的键值,但我还需要显示第二个数据库中的客户名称。我将datagrid绑定到list<>由针对EF的LINQ查询生成。

我认为我可能会为第二个数据库设置第二个EF模型,然后修改LINQ查询以将两个表的内容合并到一个带有必填字段的匿名类中。

我不确定有什么其他选择可用于此。

我还可以通过将所需的表从第二个数据库推送到第一个数据库来消除此问题,以便可以使用SQL连接。这必须在系统的其他地方完成,并可能最终成为首选解决方案,但我不想在没有首先评估其他解决方案的情况下去那里。

1 个答案:

答案 0 :(得分:0)

我继续为第二个数据库建立第二个实体模型。我设置了一个类来包含实体模型实例并处理跨数据库交互(其中一些是通过对模型实体的部分类的属性来完成的)。模型视图将数据基本上视为单个数据库。当我们开始将这些东西转移到SQL服务器并摆脱双数据库垃圾时,应用程序本身不会有太大的变化。

到目前为止我遇到的唯一问题是在设置linq查询时我必须小心,在一个查询中组合两个模型中的实体有时会产生错误。虽然不难解决。