Je tente d'extraire une ligne employee de ma base de données. La tabelle Employee contient une référence à un onglet Job.Entity Framework ne récupère pas de colonne spécifique
Maintenant, je veux mettre à jour une ligne d'employés avec quelques nouvelles informations. Je place les nouvelles informations dans un nouvel objet Employé puis j'utilise cet objet pour mettre à jour les anciennes informations sur les employés dans la base de données. Cela a fonctionné très bien jusqu'à ce que j'ai ajouté la référence entre le tabel employé et le tabel de travail. Après cela, l'infrastructure Entity s'attend à ce que mon objet Nouvel employé contienne également des références de travail qui doivent être mises à jour. Mais ce n'est pas le cas. Lorsque je crée le nouvel objet employé, je n'ai pas les informations sur les références du travail. Donc quand j'utilise le code ci-dessous je reçois cette erreur:
* L'instruction DELETE était en conflit avec la contrainte REFERENCE "FK_EmployeeProjects_Employees". Le conflit s'est produit dans la base de données "***", dans la table "dbo.EmployeeProjects", dans la colonne "EmployeeId". L'instruction a été interrompue. *
public Employee EditEmployee(Employee employee)
{
try
{
var originalEmployee = GetEmployeeWithoutJobs(employee.Id);
_entities.ApplyPropertyChanges(originalEmployee.EntityKey.EntitySetName, employee);
_entities.SaveChanges();
return originalEmployee;
}
catch (Exception ex)
{
throw ex;
}
}
Puis-je dire en quelque sorte le cadre de l'entité d'ignorer la mise à jour des références d'emploi dans cet exemple?
'ApplyPropertyChanges' met à jour déjà que scalaires. Le bug est probablement dans 'GetEmployeeWithoutJobs'. Pouvez-vous publier cette source? –