2010-03-23 10 views
0

Question stupide peut-être, mais toujours.Empêche EntityObject de passer à l'état ajouté (Entity Framework)

public class Foo : EntityObject 
{ 
    public Bar Bar { get; set; } // navigation property 
} 
public class Bar : EntityObject 
{ 
    // whatever 
} 

// code 
var myFoo = Foo.Create(); // detached state after this line 
var myBar = LoadMyBarFromDatabase(); // Bar comes from DB 
myFoo.Bar = myBar; // myFoo.EntityState changes to 'Added' 

Je ne ai pas besoin myFoo à ajouter à la base de données. Il doit rester détaché. Je ai juste besoin d'un faux conteneur de Bar depuis un certain temps. Rien d'autre.

Pensées?

(À l'heure actuelle je n'ai une idée d'ajouter une nouvelle interface IFoo et mettre en œuvre dans FakeFoo classe, ce qui est un EntityObject.

Répondre

0

Eh bien, semble comme il n'y a pas de bonne façon solide pour le faire. J'ai fini par remplacer la méthode SaveChanges dans le contexte et par filtrer les objets que j'ai créés, mais je n'ai pas trouvé d'autre chose car dès que vous ajoutez l'objet à une relation, il est ajouté au contexte avec l'état Added