EF Premier Code de clé étrangère sans système de navigation de la propriété

Disons que j'ai les entités suivantes:

public class Parent
{
    public int Id { get; set; }
}
public class Child
{
    public int Id { get; set; }
    public int ParentId { get; set; }
}

Qu'est-ce que le premier code API fluent syntaxe pour faire valoir ce que de ParentId est créé dans la base de données avec une contrainte de clé étrangère pour les Parents de table, sans la nécessité d'avoir une propriété de navigation?

Je sais que si j'ajoute une propriété de navigation Parent à l'Enfant, alors je peux le faire:

modelBuilder.Entity<Child>()
    .HasRequired<Parent>(c => c.Parent)
    .WithMany()
    .HasForeignKey(c => c.ParentId);

Mais je ne veux pas la propriété de navigation dans ce cas particulier.

  • Je ne pense pas que ce soit réellement possible juste avec EF, vous aurez probablement besoin d'utiliser certains SQL brut dans un manuel de migration pour le configurer
  • qu'est ce que je craignais. Si vous faites que de la réponse, je serai heureux de l'accepter, en supposant que cela est correct. 🙂
  • Est-il une raison particulière pour ne pas avoir la propriété de navigation? Seraient la propriété de navigation privée de travailler pour vous - ne serait pas visible à l'extérieur de l'entité, mais s'il vous plaît EF. (Remarque je n'ai pas essayé mais je pense que cela devrait prendre un coup d'oeil à ce post sur le mappage des propriétés privées romiller.com/2012/10/01/...)
  • Eh bien, je ne veux pas parce que je n'en ai pas besoin. Je n'aime pas avoir à mettre de l'inutile dans une conception juste pour satisfaire les exigences d'un cadre. Serait-il me tuer pour mettre dans la nav prop? Pas de. En fait, c'est ce que j'ai fait pour le moment.
  • Vous avez toujours besoin d'une propriété de navigation sur au moins un côté pour construire une relation. Pour plus d'informations stackoverflow.com/a/7105288/105445
InformationsquelleAutor RationalGeek | 2014-01-02