2009-07-09 7 views
1

Je crée un fichier .dbml à partir d'une base de données. Ma table "property" a des clés étrangères à la table "county" et à une table "propertysource".Problèmes de relation d'entité dbml

Lorsque le code est généré, Property.Source est défini comme un type PropertySource, mais Property.County est défini comme un int, au lieu d'un type County. Je crains de ne pas avoir l'expérience de LINQ to SQL pour comprendre ce qui se passe ici ou pourquoi c'est ou comment y remédier. Je ne peux rien trouver d'évident au sujet de mon schéma qui pourrait causer cela. Comment puis-je obtenir le code généré automatiquement pour reconnaître la propriété County de l'objet Property est un type de comté?

Répondre

1

Lorsque vous ouvrez le concepteur dbml, vérifiez que vous disposez d'un diagramme qui affiche deux flèches de la classe Property: une flèche allant à la classe County et une autre allant à la classe PropertySource. En outre, vous devriez avoir ces trois classes dans votre concepteur.

Si vous ne voyez pas le modèle objet de cette façon, il y a probablement quelque chose qui ne va pas dans la façon dont votre schéma de base de données est configuré.

Je vérifie pour vous assurer que vos clés étrangères sont correctement configurées.

+0

Le diagramme semble correct; flèches dans les bons endroits. Les trois entités sont dans le concepteur. Les clés étrangères sont correctement configurées. –

+0

Pourriez-vous prendre une photo du diagramme et l'inclure dans votre question? J'ai le sentiment que cela a à voir avec vos propriétés et la façon dont elles sont configurées, mais je ne peux pas en être sûr à moins de pouvoir le voir. – Joseph

2

Lorsque vous cliquez sur la propriété dans le fichier DBML, vous pouvez modifier son type à l'aide de la fenêtre Propriétés. Dans la fenêtre Propriétés, il y a un champ pour Type. Vous pouvez sélectionner certains des types standard dans la liste déroulante, ou entrer dans votre propre type personnalisé en utilisant son nom complet, à savoir. "MyProject.Location.Country.CountryType", etc.

Assurez-vous de reconstruire votre projet avant d'essayer d'y accéder dans IntelliSense. J'espère que cela t'aides!