2017-09-28 20 views
0

J'ai ce problème étrange lorsque j'ajoute de nouvelles valeurs à la base de données. supposons être je m'attendais aussi que les propriétés de navigation auront des données après UnitOfWork.SaveChanges().Code C# First SaveChanges ne met pas à jour les propriétés de navigation/les valeurs des clés étrangères

Heres mon modèle:

[Column("Client_ID"), Key] 
    public int ClientID{ get; set; } 

    [Column("Employee_ID"), Required] 
    public int EmployeeID { get; set; } 

    [ForeignKey("EmployeeID")] 
    public virtual Employee201 Employee { get; set; } 

Lors de l'enregistrement des modifications que le ClientID mis à jour les valeurs non à l'employé clé étrangère. Est-ce que je manque quelque chose ici?

méthode de dépôt

public Client Create(Client client) 
    { 
     if (client != null) 
     { 
      GetDbSet<Client >().Add(client); 
      UnitOfWork.SaveChanges(); 
     } 
     return client ; 
    } 

Mise à jour

Maintenant, je trouve la question. lors de l'ajout de nouvelles données im en utilisant le nouveau client() ce résultat au type d'entité seulement et non pas le type de proxy. Existe-t-il un moyen de convertir ceci en utilisant im nouveau client() qu'il devrait toujours être le type de proxy?

+0

Comment vous avez créé 'client'? –

Répondre

0

Qu'est-ce que Employee201? J'ai toujours écrire de cette façon Et ça marche.

(clients est votre dbset System.Data.Entity.DbSet publique < Client> Clients. {Get; serties;})

UnitOfWork = new DatabaseContext();

UnitOfWork.Clients.Add (client);

UnitOfWork.SaveChanges();