2008-08-05 2 views
6

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

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

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

+1

Было намерение написать «удаленный» или «очерченный», поскольку, скорее всего, это последний, но может быть, возможно, определенный смысл, в котором вы имеете в виду слово? – 2016-03-24 00:10:42

ответ

0

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

2

Если две базы данных находятся на одном физическом сервере (предполагается 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

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

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

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

Смежные вопросы