2012-05-03 3 views
1

J'expérimente avec la mise à jour des propriétés sur une entité sans obtenir l'entité en premier dans la base de données. Le problème est que je souhaite seulement mettre à jour certaines propriétés et le validateur d'entité se plaint que les valeurs non nullable n'ont pas été remplies même si je ne les mets pas à jour.DbContext ne valide que les propriétés modifiées

Ma seule option est-elle d'activer le validateur?

Je préfère ne pas activer le validateur, car je souhaite valider les propriétés que je mets à jour.

TestContext context = new TestContext(); 

LearningResource learningResource = new LearningResource(); 

learningResource.LearningResourceID = 132; 


DbEntityEntry<LearningResource> entry = context.Entry(learningResource); 

context.LearningResources.Attach(learningResource); 

entry.State = EntityState.Unchanged; 

learningResource.Title = "alex"; 

entry.Property(e => e.Title).IsModified = true; 

//Only seems to work if I do this. 
//context.Configuration.ValidateOnSaveEnabled = false; 

context.SaveChanges(); 

Répondre

2

Cela correspond à "a feature". Vous devez désactiver la validation globale et valider chaque propriété modifiée séparément. Je ne comprends pas non plus pourquoi cela n'arrive pas hors de la boîte.

+0

Merci @Ladislav –

Questions connexes