Définition d'une clé étrangère à null lors de l'utilisation d'entity framework code first

Je suis en utilisant la base de données de mise en œuvre de l'Entity Framework Code First que la couche de données pour un projet, mais j'ai couru dans un problème.

J'ai besoin d'être en mesure de définir une clé étrangère à null pour supprimer une association dans la base de données.

J'ai 2 objets. L'un est appelé Projet.

public class Project
{
    public int ProjectId {get; set;}
    public Employee Employee {get;set;}
}

public class Employee
{
    public int EmployeeId {get; set;}
    public string EmployeeName {get;set;}
}

Cela correspond à ce que j'ai dans la Base de données:

CREATE TABLE Project(
    ProjectId int IDENTITY(1,1) NOT NULL,
    EmployeeId int NULL
)

CREATE TABLE Project(
    EmployeeId int IDENTITY(1,1) NOT NULL,
    EmployeeName varchar(100) NULL
)

Je peux affecter un Employé à un projet. Cependant, je veux être en mesure de supprimer un employé d'un projet et d'avoir le champ Employé nulle. Dans mon UI ce sera indiqué comme "Non Employés Affectés".

Cependant, à court d'une requête sql, je n'arrive pas à trouver un moyen de le faire dans l'entity framework 4.1.

J'ai essayé:

public void RemoveEmployeeFromProject(int projectId)
{
    var project = Context.Projects.FirstOrDefault(x => x.ProjectId == projectId);
    project.Employee = null;
    Context.SaveChanges();
}

Mais ce n'est pas faire n'importe quoi.

Quelqu'un a une idée?

InformationsquelleAutor mccow002 | 2011-06-21