2017-05-15 4 views
1

J'ai les classes suivantes.une à zéro relation avec hasforeignkey

class Zero 
{ 
    One One { get; set; } 
    int OneId { get; set; } 
} 

class One 
{ 
    Zero Zero { get; set} 
} 

modelBuilder.Entity<Zero>() 
     .HasRequired(e => e.One) 
     .WithOptional(a=>a.Zero) 
     .HasForeignKey(e => e.OneId);//<--error 

il n'y a pas HasForeignKey après WithOptional, seulement après WithMany

Que puis-je faire pour obtenir les mêmes résultats?

+1

'HasForeignKey' est manquant dans un but (non pris en charge pour' relations un-à-un »). Avez-vous vraiment besoin d'un FK séparé dans 'Zero'? EF utilise par défaut l'association de clé primaire partagée pour ce type de relation, par exemple. le 'Zero' PK sera également FK. Si vous n'êtes pas contraint à la base de données existante, je recommanderais d'utiliser cette stratégie. –

+0

J'ai besoin du FK dans ma classe Zero – ihisham

+1

Ok, alors la seule option que vous avez est de créer une association indépendante, c'est-à-dire sans propriété FK explicite. Supprimez le 'int OneId {get; ensemble; } 'et utilisez' .Map (m => m.MapKey ("OneId")) 'API fluide. –

Répondre