Share via


How to: Ingressar usando composto de Chaves (guia de programação C#)

Este exemplo mostra como executar as operações de associação na qual você deseja usar mais de uma chave para definir uma correspondência. Isso é realizado usando uma chave composta. Você cria uma composição nomeada ou chave como um tipo anônimo digitado com os valores que você deseja comparar. Se a variável de consulta será transmitida através de limites de método, use um tipo nomeado que substitui o Equals e GetHashCode para a chave. Os nomes das propriedades e a ordem em que eles ocorrem, devem ser idênticos em cada chave.

Exemplo

O exemplo a seguir demonstra como usar uma chave composta associar dados de três tabelas:

var query = from o in db.Orders
    from p in db.Products
    join d in db.OrderDetails 
        on new {o.OrderID, p.ProductID} equals new {d.OrderID,
        d.ProductID} into details
        from d in details
        select new {o.OrderID, p.ProductID, d.UnitPrice};

A inferência de tipo composto chaves depende dos nomes das propriedades em que as chaves e a ordem em que eles ocorrem. Se as propriedades de seqüências de origem não possuem os mesmos nomes, você deve atribuir novos nomes de chaves. Por exemplo, se a Orders tabela e OrderDetails cada tabela usado nomes diferentes para suas colunas, você poderia criar chaves compostas, atribuindo nomes idênticos nos tipos anônimos:

join...on new {Name = o.CustomerName, ID = o.CustID} equals 
    new {Name = d.CustName, ID = d.CustID }

As chaves compostas também podem ser usadas em um group cláusula.

Compilando o código

  • Para compilar e executar esse código, execute estas etapas:

  • Abrir Como: Criar uma conexão de dados no banco de dados Northwind e siga as instruções para definir o projeto e criar a conexão de banco de dados.

  • No samples.cs, crie um novo método de vazio que leva um parâmetro de entrada do Northwind chamado db (semelhante a outros métodos no arquivo). Cole o código deste exemplo o corpo do método.

  • Modificar Program. cs para chamar o novo método de Main.

  • Pressione F5 para compilar e executar a consulta.

Consulte também

Referência

cláusula deunir (referência de C#)

cláusula de grupo (referência de C#)

Conceitos

LINQ Expressões de consulta (guia de programação de C#)