.net - So filtern und kombinieren Sie 2 Datensätze in C #

original title: ".net - How to filter and combine 2 datasets in C#"


I am building a web page to show a customer what software they purchased and to give them a link to download said software. Unfortunately, the data on what was purchased and the download information are in separate databases so I can't just take care of it with joins in an SQL query.

The common item is SKU. I'll be pulling a list of SKUs from the customer purchases database and on the download table is a comma delineated list of SKUs associated with that download. My intention, at the moment, is to create from this one datatable to populate a GridView.

Any suggestions on how to do this efficiently would be appreciated. If it helps, I can pretty easily pull back the data as a DataSet or a DataReader, if either one would be better for this purpose.

Ich erstelle eine Webseite, um einem Kunden zu zeigen, welche Software er gekauft hat, und um ihm einen Link zum Herunterladen dieser Software zu geben. Leider sind die Daten zu dem, was gekauft wurde und die Download-Informationen ...

Dies ist die Zusammenfassung nach der Übersetzung. Wenn Sie die vollständige Übersetzung anzeigen möchten, klicken Sie auf das Symbol "Übersetzen"

Alle Antworten
  • Translate

    As long as the two databases are on the same physical server (assuming MSSQL) and the username/password being used in the connection string has rights to both DBs, then you should be able to perform a join across the two databases. Example:

    select p.Date,
    from   PurchaseDB.dbo.Purchases as p
    join   ProductDB.dbo.Products as d on d.sku = p.sku
    where  p.UserID = 12345

  • Translate

    Why not create a Domain object based approach to this problem:

    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{
                // etc... etc...          

    There are a million variations on this, but once you aggregate this information, wouldn't it be easier to present?

  • Translate

    I am thinking off the top of my head here. If you load both as Data Tables in the same Data Sets, and define a relation between the two over SKU, and then run a query on the Data Set which produces the desired result.