2011-12-27 2 views
0

J'ai une méthode d'insertion dans la base de données. J'ai une relation 1: n entre les tables Point (n) et Line (1). Point a la clé étrangère idLine. Toutefois, la classe Point dans Entity Framework ne possède pas la propriété idLine.Clés étrangères dans Entity Framework

Maintenant, dans ma méthode que j'ai objet de type Point, en tant que paramètre et ici j'ai un problème parce que je ne sais pas à quoi attribuer le idSection du nouvel objet Point qui est inséré dans la table.

Comment ajouter la propriété idLine dans la classe Point?

+0

Utilisez-vous .NET 3.5? Utilisez-vous des entités basées sur EntityObject? –

+0

Utilisez-vous "code first", ou avez-vous un fichier EDMX? – dasblinkenlight

Répondre

0

Je vais supposerons que vous utilisez EF4.0, car cela est impossible dans la version précédente (EF1.0 ne comprend pas les propriétés clés dans le modèle foreigh).

Dans votre assistant de génération, vous devez vous assurer que la case "Inclure les colonnes de clé étrangère dans le modèle" est cochée lorsque vous générez un modèle de données. Sinon, les colonnes de clé étrangère seront omises lors de la génération de données. Si je me souviens bien, vous ne pouvez pas simplement ajouter des touches forign aux classes déjà générées. Vous auriez besoin de modifier manuellement tous les mappings (pas impossible, peut-être un peu gênant si vous êtes nouveau à EF). Ou vous pouvez simplement supprimer cette classe de la zone de conception et l'ajouter à nouveau (en vérifiant que la case appropriée est cochée cette fois). Cela pourrait être plus simple si vous n'avez pas personnalisé les classes générées.

0

ajouter une clé étrangère dans votre modèle comme suit: -

public int? LineId { get; set; } 
public virtual LineId LineId {get; set; } // this for one to one 
Questions connexes