.net -如何在C#中过滤和合并2个数据集

Translate

我正在建立一个网页,向客户显示他们购买了哪些软件,并为他们提供了下载所说软件的链接。不幸的是,有关购买商品的数据和下载信息位于单独的数据库中,所以我不能仅通过SQL查询中的联接来处理它。

常见项目是SKU。我将从客户购买数据库中提取SKU列表,并在下载表上以逗号分隔的列表列出与该下载相关的SKU。目前,我的意图是根据该数据表创建一个GridView.

任何有关如何有效地做到这一点的建议,将不胜感激。如果有帮助,我可以轻松地将数据作为DataSet或一个DataReader,如果有哪一个对此更好。

This question and all comments follow the "Attribution Required."

所有的回答

Translate

只要两个数据库都位于同一台物理服务器上(假设为MSSQL),并且连接字符串中使用的用户名/密码对两个DB都具有权限,那么您应该能够在两个数据库之间执行联接。例:

select p.Date,
       p.Amount,
       d.SoftwareName,
       d.DownloadLink
from   PurchaseDB.dbo.Purchases as p
join   ProductDB.dbo.Products as d on d.sku = p.sku
where  p.UserID = 12345
来源
Translate

为什么不创建基于Domain对象的方法来解决此问题:

public class CustomerDownloadInfo
{
    private string sku;
    private readonly ICustomer customer;

    public CustomerDownloadInfo(ICustomer Customer){
        customer = Customer;
    }

    public void AttachSku(string Sku){
        sku = Sku;
    }

    public string Sku{
        get { return sku; }
    }

    public string Link{
        get{    
            // etc... etc...          
        }
    }
}

对此有上百万种变体,但是一旦汇总了这些信息,呈现起来会不会更容易?

来源
Translate

我在想在这里。如果将两个都作为数据表加载到相同的数据集中,并通过SKU定义两者之间的关系,然后在数据集上运行查询以产生所需的结果。

来源
上一个问题:
ASP.NET URL重写