2008-09-05 6 views
1

J'essaie de lier deux champs d'une table donnée au même champ dans une autre table. Je l'ai fait avant, donc je ne peux pas déterminer ce qui ne va pas cette fois.LINQ to SQL Association - "Les propriétés n'ont pas de types correspondants"

Quoi qu'il en soit:

Table1 
- Id (Primary) 
- FK-Table2a (Nullable, foreign key relationship in DB to Table2.Id) 
- FK-Table2b (Nullable, foreign key relationship in DB to Table2.Id) 

Table2 
- Id (Primary) 

L'association travaille pour FK-Table2a mais pas FK-Table2b. En fait, lorsque je charge dans LINQ to SQL, il affiche Table2.Id comme associé à Table1.Id. Si j'essaie de changer ceci, ou ajouter une nouvelle association pour FK-Table2b à Table2.Id il dit: "Les propriétés n'ont pas les types correspondants".

Cela fonctionne également dans d'autres projets - peut-être que je devrais juste copier sur le .dbml?

Des idées?

Répondre

2

Aucune idée sur la cause, mais je viens de reconstruire mon .dbml à partir de zéro et il s'est fixé. Oh pour une fonction de "rafraîchissement" ...

+0

Je l'ai. ------- – Henrik

+1

Juste eu exactement la même chose m'arrive avec VS2013 et MSSQL 2008. Juste redémarré VS2013 pour le réparer. – SteveGSD

1

J'ai eu le même problème. Cette erreur est apparue lorsque j'ai essayé de lier différents types de champs, ou lorsque j'ai essayé de glisser-déposer la table dans l'espace .dbml, mais .dbml contenait déjà des tables liées avec différents types de champs liés.

3

Je vois ce problème lorsque j'essaie de créer des relations un-à-un où un côté de la relation est nullable (donc vraiment, un à zéro/un). LINQ-to-SQL ne semble pas supporter cela, il semble donc que nous sommes forcés d'avoir une relation plurielle et une collection qui contiendra zéro ou un élément. Ennuyeux.

+2

Avez-vous essayé de changer la propriété de cardinalité de votre association? J'obtiens des associations un-zéro/un avec ça. Cela rend encore la propriété résultante plurielle, mais ce n'est pas une collection. – jheddings