Elemento Condition (AssociationSetMapping)
L'elemento Condition di AssociationSetMapping specifica un requisito logico per la validità dell'oggetto Association mappato in Entity Data Model (EDM). Il mapping di un'associazione identifica le colonne nelle tabelle dati a cui corrispondono le proprietà delle entità correlate.
L'elemento AssociationSetMapping seguente esegue il mapping dell'associazione Employee_Employee_ManagerID definita in CSDL (Conceptual Schema Definition Language) nel segmento HumanResources del database AdventureWorks. La specifica di mapping seguente mette in correlazione un'entità Employee a un'altra entità Employee designata come manager.
<?xml version="1.0" encoding="utf-8"?>
<Mapping Space="C-S"
xmlns:edm="urn:schemas-microsoft-com:windows:storage:mapping:CS"
xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">
<EntityContainerMapping CdmEntityContainer="HumanResources"
StorageEntityContainer="HumanResources">
<AssociationSetMapping Name="Employee_Employee_ManagerID"
TypeName="AdventureWorksHRModel.Employee_Employee_ManagerID"
StoreEntitySet="Employee">
<EndProperty Name="Employee">
<ScalarProperty Name="EmployeeID"
ColumnName="ManagerID" />
</EndProperty>
<EndProperty Name="EmployeeManager">
<ScalarProperty Name="EmployeeID"
ColumnName="EmployeeID" />
</EndProperty>
<Condition ColumnName="ManagerID" IsNull="false" />
</AssociationSetMapping>
</EntityContainerMapping>
Entrambe le entità correlate da questo oggetto Association sono entità Employee. Il mapping dipende dall'oggetto Condition specificato nella riga finale di AssociationSetMappng. Affinché l'oggetto Association sia valido, è necessario che connetta un'entità Employee con un'altra entità Employee designata come manager. La struttura di archiviazione che rappresenta questa connessione è un vincolo di chiave esterna nella colonna ManagerID della tabella Employee. Se questa condizione è Null, la condizione non è soddisfatta e l'assegnazione di dettagli aggiuntivi in un'istanza di Association sarebbe inutile. Se un oggetto Association di questo tipo viene creato nel codice quando il valore di ManagerID è Null, l'oggetto Association genera un'eccezione quando viene chiamato il metodo SaveChanges.
Vedere anche
Concetti
Elemento EntityContainerMapping (MSL)
Elemento Association (CSDL)
Elemento AssociationSet (EntityContainer CSDL)
Elemento Association (SSDL)
Elemento AssociationSet (EntityContainer SSDL)
Modello completo di AdventureWorks (EDM)