Je suis en train de créer un 1: m relation à l'aide Entity Framework (.net 4.0) et je obtenir l'erreur suivante:Définition d'un 1 à plusieurs dans Entity Framework
App_Code.Model.msl(36,6) : error 3007: Problem in mapping fragments
starting at lines 6, 36:Column(s) [ProductId] are being mapped in
both fragments to different conceptual side properties.
Ce que j'est un Table des produits et table des fonctionnalités. L'idée est que les produits ont de nombreuses fonctionnalités. Les produits ont chacun un ProductId, et les Features ont une clé étrangère ProductId.
Maintenant, le problème est que la clé étrangère n'existe pas dans le serveur SQL, et je ne le veux pas. Si c'est le cas, tout fonctionne automatiquement.
Dans le concepteur EDMX, j'ai créé une association du produit à l'entité, puis j'ai modifié les détails de mappage de l'association ProductFeature pour qu'ils soient basés sur la table Features, ce qui devrait fonctionner.
Des idées? Merci beaucoup.
pourquoi ne pas vous voulez le FK? oublier EF pour une seconde, comment cela fonctionnerait-il dans une perspective SQL Server? Vous avez besoin du FK sur les fonctionnalités pour connaître l'enregistrement de produit "quel unique" auquel il appartient. Si vous dites que vous ne voulez pas ce FK, cela ressemble à beaucoup-à-plusieurs, auquel cas vous aurez besoin d'une table de jonction (c.-à-d. ProductFeatures - comme la réponse ci-dessous indique). – RPM1984
Y a-t-il une raison particulière pour laquelle vous n'utilisez pas de clé étrangère? Je comprends que c'est un exemple simple, mais il semblerait selon votre description que ce devrait être un FK. –
@ RPM1984 - Je ne souhaite pas apporter de modifications à la base de données, car il s'agit d'une application/base de données existante, plutôt que d'une situation greenfields. – Chris