Salve tutti
premetto che mi sto avvicinando ora ad entity framework dopo una breve esperienza con LinqToSql e vi espongo rapidamente il mio problema... in un modello EF devo creare manualmente un 'associazione tra una DefiningQuery ed una tabella di cui la DefiningQuery è la lookup e quando tento di compilare ricevo il seguente errore
Error 3007: Problem in Mapping Fragments starting at lines %, %: Non-Primary-Key column(s) [%] are being mapped in both fragments to different conceptual side properties - data inconsistency is possible because the corresponding conceptual side properties can be independently modified.
vi riporto per completezza l'xml del grafo per le tabelle interessate
<!-- SSDL content -->
....
<EntitySet Name="Anagrafica" EntityType="Model.Store.Anagrafica" store:Type="Tables" Schema="dbo" />
<EntitySet Name="vieNazioni" EntityType="Model.Store.vieNazioni" store:Type="Views" store:Schema="dbo" store:Name="vieNazioni">
<DefiningQuery>SELECT
[vieNazioni].[COD_NAZ] AS [COD_NAZ],
[vieNazioni].[DESCRIZIONE] AS [DESCRIZIONE],
[vieNazioni].[DESC_ITA_BREVE] AS [DESC_ITA_BREVE],
[vieNazioni].[DESC_BREVE] AS [DESC_BREVE],
[vieNazioni].[DT_ISTITUZIONE] AS [DT_ISTITUZIONE],
[vieNazioni].[DT_SOPPRESSIONE] AS [DT_SOPPRESSIONE]
FROM server.altrodb.[dbo].[Nazioni] AS [vieNazioni]</DefiningQuery>
</EntitySet>
....
<EntityType Name="Anagrafica">
<Key>
<PropertyRef Name="Posizione" />
</Key>
<Property Name="Posizione" Type="int" Nullable="false" />
<Property Name="Cognome" Type="char" Nullable="false" MaxLength="100" />
<Property Name="Nome" Type="char" Nullable="false" MaxLength="100" />
<Property Name="Sesso" Type="char" MaxLength="1" />
<Property Name="Data_nascita" Type="datetime" />
<Property Name="Anno_Apertura" Type="int" />
<Property Name="Luogo_Nascita" Type="varchar" MaxLength="100" />
<Property Name="Cittadinanza" Type="varchar" MaxLength="4" />
<Property Name="Indirizzo" Type="varchar" MaxLength="255" />
<Property Name="Stato" Type="varchar" MaxLength="4" />
<Property Name="Provincia" Type="char" MaxLength="2" />
<Property Name="Citta" Type="varchar" MaxLength="255" />
<Property Name="Professione" Type="varchar" MaxLength="255" />
<Property Name="Titolo" Type="varchar" MaxLength="30" />
<Property Name="Note" Type="varchar" MaxLength="1000" />
<Property Name="CREATED_BY" Type="varchar" Nullable="false" MaxLength="200" />
<Property Name="DT_CREATION" Type="datetime" Nullable="false" />
<Property Name="MODIFIED_BY" Type="varchar" Nullable="false" MaxLength="200" />
<Property Name="DT_MODIFY" Type="datetime" Nullable="false" />
</EntityType>
<EntityType Name="vieNazioni">
<Key>
<PropertyRef Name="COD_NAZ" />
</Key>
<Property Name="COD_NAZ" Type="varchar" Nullable="false" MaxLength="4" />
<Property Name="DESCRIZIONE" Type="varchar" Nullable="false" MaxLength="80" />
<Property Name="DESC_ITA_BREVE" Type="varchar" MaxLength="40" />
<Property Name="DESC_BREVE" Type="varchar" Nullable="false" MaxLength="40" />
<Property Name="DT_ISTITUZIONE" Type="datetime" Nullable="false" />
<Property Name="DT_SOPPRESSIONE" Type="datetime" />
</EntityType>
.....
<Association Name="vieNazioniAnagraficaFK1">
<End Role="vieNazioni" Type="Model.Store.vieNazioni" Multiplicity="0..1" />
<End Role="Anagrafica" Type="Model.Store.Anagrafica" Multiplicity="*" />
<ReferentialConstraint>
<Principal Role="vieNazioni">
<PropertyRef Name="COD_NAZ" />
</Principal>
<Dependent Role="Anagrafica">
<PropertyRef Name="Cittadinanza" />
</Dependent>
</ReferentialConstraint>
</Association>
.....
<!-- CSDL content -->
<EntitySet Name="Anagrafica" EntityType="Model.Anagrafica" />
<EntitySet Name="vieNazioni" EntityType="Model.vieNazioni" />
....
<AssociationSet Name="vieNazioniAnagraficaFK1" Association="OnorModel.vieNazioniAnagraficaFK1">
<End Role="vieNazioni" EntitySet="vieNazioni" />
<End Role="Anagrafica" EntitySet="Anagrafica" />
</AssociationSet>
<Association Name="vieNazioniAnagraficaFK1">
<End Type="OnorModel.vieNazioni" Role="vieNazioni" Multiplicity="1" />
<End Type="OnorModel.Anagrafica" Role="Anagrafica" Multiplicity="*" />
</Association>
e qui è dove si presenta l'errore
<!-- C-S mapping content -->
<AssociationSetMapping Name="vieNazioniAnagraficaFK1" TypeName="Model.vieNazioniAnagraficaFK1" StoreEntitySet="Anagrafica">
<EndProperty Name="vieNazioni">
<ScalarProperty Name="COD_NAZ" ColumnName="Cittadinanza" /></EndProperty>
<EndProperty Name="Anagrafica">
<ScalarProperty Name="Posizione" ColumnName="Posizione" /></EndProperty></AssociationSetMapping></EntityContainerMapping>
</Mapping>
ringrazio per l'attenzione che vorrete prestarmi