Как отфильтровать и объединить 2 набора данных в C # - PullRequest
9 голосов
/ 05 августа 2008

Я создаю веб-страницу, чтобы показать клиенту, какое программное обеспечение он приобрел, и дать ему ссылку для загрузки указанного программного обеспечения. К сожалению, данные о том, что было куплено, и информация о загрузке находятся в отдельных базах данных, поэтому я не могу просто позаботиться об этом с помощью объединений в запросе SQL.

Обычная вещь - SKU. Я вытащу список SKU из базы данных покупок клиентов, а в таблице загрузок приведен список SKU, связанный с этой загрузкой. Мое намерение, на данный момент, состоит в том, чтобы создать из этого источника данных для заполнения GridView.

Буду признателен за любые предложения о том, как сделать это эффективно. Если это поможет, я могу довольно легко получить данные как DataSet или DataReader, если один из них будет лучше для этой цели.

Ответы [ 3 ]

2 голосов
/ 05 августа 2008

Пока две базы данных находятся на одном физическом сервере (при условии MSSQL), а имя пользователя / пароль, используемые в строке подключения, имеют права на обе БД, тогда вы сможете выполнить объединение двух баз данных. Пример:

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
2 голосов
/ 05 августа 2008

Почему бы не создать объектно-ориентированный подход к этой проблеме:

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...          
        }
    }
}

Существует миллион вариантов этого, но как только вы соберете эту информацию, вам будет легче ее представить?

0 голосов
/ 05 августа 2008

Я размышляю над головой здесь. Если вы загружаете обе таблицы данных в одни и те же наборы данных и определяете отношение между ними через SKU, а затем запускаете запрос к набору данных, который дает желаемый результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...