Como filtrar e combinar 2 conjuntos de dados em C #

votos
7

Estou construindo uma página web para mostrar um cliente que o software que comprou e dar-lhes um link para baixar disse software. Infelizmente, os dados sobre o que foi comprado e as informações de download estão em bancos de dados separados para que eu não posso simplesmente cuidar dela com junta em uma consulta SQL.

O item comum é SKU. Eu vou estar puxando uma lista de SKUs do banco de dados compras do cliente e na mesa de download é uma lista vírgula delimitada de SKUs associado a esse download. Minha intenção, no momento, é criar a partir desta tabela de dados para preencher um GridView.

Todas as sugestões sobre como fazer isso de forma eficiente seria apreciada. Se ajudar, posso muito facilmente puxar para trás os dados como um DataSetou DataReader, se qualquer um deles seria melhor para esta finalidade.

Publicado 05/08/2008 em 14:17
fonte usuário
Em outras línguas...                            


3 respostas

votos
2

Por que não criar uma abordagem baseada em objeto de domínio para este problema:

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

Há um milhão de variações sobre isso, mas uma vez que você agregar essa informação, não seria mais fácil para apresentar?

Respondeu 05/08/2008 em 15:06
fonte usuário

votos
2

Enquanto os dois bancos de dados estão no (MSSQL assumindo) mesmo servidor físico e o nome de usuário / senha que está sendo usado na seqüência de conexão tem direitos a ambos bancos de dados, então você deve ser capaz de executar uma junção entre os dois bancos de dados. Exemplo:

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
Respondeu 05/08/2008 em 14:48
fonte usuário

votos
0

Estou a pensar em cima da minha cabeça aqui. Se você carregar tanto como tabelas de dados nas mesmas conjuntos de dados e definir uma relação entre os dois ao longo do SKU, e depois executar uma consulta sobre o conjunto de dados que produz o resultado desejado.

Respondeu 05/08/2008 em 14:24
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more