Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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#)