Modèle de entity framework – Première key étrangère nullable

J'essaye désespérément d'implémenter une key étrangère nullable avec le concepteur de model d'Entity Framework.

Les arrays en question ressemblent à ceci:

EF Modèle

Les parameters doivent être corrects, car ma class est générée en conséquence avec la propriété Sender comme suit:

 public Nullable<int> SenderId { get; set; } 

Toutefois, lors de l'appel de Context.Database.Create(); la propriété SenderId bases de données SenderId n'est pas Nullable.

Si je modifie manuellement le type de colonne à un nullable dans la database, j'obtiens une erreur dans EF que le model et la database diffèrent.

Aucun conseil?

Merci!

J'ai eu le même problème que toi

Essayez de définir votre senderid comme ceci:

  public int? SenderId { get; set; } 

Si cela ne vous aide pas, vous pouvez modifier la propriété comme indiqué ci-dessus et modifier la database manuellement, après l'avoir fait. il ne devrait y avoir aucune différence.

Bon, après quelques heures de déconner, j'ai finalement trouvé la source du problème: le file edmx de mon model Entity.

Alors que Visual Studio Entity Model Designer m'a montré que la colonne est nullable (ou plutôt je l'ai définie à nullable), j'ai dû découvrir que le file .edmx lui-même n'a pas appliqué ces modifications. J'ai manuellement changé le file. Edmx dans un éditeur.

 <Property Name="SenderId" Type="Int32" Nullable="true" /> 

La propriété Nullable était à l'origine définie sur false … Au fait: les associations n'étaient pas sauvegardées non plus, j'ai dû définir moi-même l'association 0..1 dans l'éditeur de text, puisque la key étrangère est maintenant nullable. Merci pour l'aide de toute façon!