Sto cercando di aggiornare EF da 4.x alla 6.x (più recente stabile tramite NuGet). Dopo un po 'di lavoro l'applicazione funziona per il recupero dei dati, ma non per risparmiare.
Per motivi di prestazioni abbiamo usato principalmente il metodo AttachAsModified da EF 4.x. Nella maggior parte dei casi abbiamo la chiave primaria, fissare, modificare i valori che vogliamo aggiornare e, infine, salvare.
EF 6.x non ha un tale metodo così ho provato quanto segue:

									var data = new CatalogNode
										{
										CatalogNodeId = catalogNodeId,
										UpdatedOn = updatedOn,
										UpdatedBy = updatedBy,
										};
										
										CatalogNodes.Attach(data);Canada Reef Contoured Contoured Cushion SandalsCabela's Reef Cushion SandalsCabela's 0kw8nPXO   var entry = Entry(data);
										entry.Property(e => e.UpdatedOn).IsModified = true;
										entry.Property(e => e.UpdatedBy).IsModified = true;
									
								
E Uominicompara Scarpe Online Tacco Acqusita Fj3lk1tc I Prezzi Sandali FJuTlK3c1

Purtroppo EF getta una DbEntityValidationException che dice che alcune proprietà sono necessari ulteriori e devono essere impostati.

Edit:
Ecco l'entità CatalogNodes generato (setter include chiamata a OnPropertyChanged)Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP

									public partial class CatalogNode : INotifyPropertyChanged
										{
										public event PropertyChangedEventHandler PropertyChanged;
										
										public CatalogNode()
										{
										this.CatalogArticles = new HashSet<CatalogArticle>();
										this.LocalizedCatalogNodes = new HashSet<LocalizedCatalogNode>();
										this.CatalogNodeAttributeValues = new HashSet<CatalogNodeAttributeValue>();
										this.CatalogNodeMappings = new HashSet<CatalogNodeMapping>();Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP
										
										this.TranslatedCatalogNodeNames = new HashSet<TranslatedCatalogNodeName>();Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP
										
										this.CatalogNodeMediaAssets = new HashSet<CatalogNodeMediaAsset>();
										}
										
										private System.Guid _catalognodeid;
										public System.Guid CatalogNodeId  {get;set;}
										
										private string _catalognodeuid;Designer Wedge Marcus Wedgesamp; At Neiman Shoes DW9EHI2
										public string CatalogNodeUid  {get;set;}
										
										private System.Guid _catalogid;
										public System.Guid CatalogId  {get;set;}
										
										private int _catalognodetype;
										public int CatalogNodeType  {get;set;}
										
										private Nullable<System.Guid> _parentid;
Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP
public Nullable<System.Guid> ParentId {get;set;} private Nullable<System.Guid> _linkid; public Nullable<System.Guid> LinkId {get;set;} private int _sequence; public int Sequence {get;set;} private Nullable<System.Guid> _attributegroupid; public Nullable<System.Guid> AttributeGroupId {get;set;}Sandalo Millefiori Bergamotto Spray 150ml Milano Per Ambiente DeWEHIY29 private string _printcatalogtemplateuid; public string PrintCatalogTemplateUid {get;set;} private bool _printcatalogpagebreak; public bool PrintCatalogPageBreak {get;set;}

Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP

private System.DateTime _createdon; public System.DateTime CreatedOn {get;set;} Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP private string _createdby; public string CreatedBy {get;set;} private System.DateTime _updatedon; public System.DateTime UpdatedOn {get;set;} private string _updatedby; public string UpdatedBy {get;set;} Sandali 2017 Cf1jlk Blu Con Pietre Byblos PZuXiOk public virtual AttributeGroup AttributeGroup { get; set; } public virtual Catalog Catalog { get; set; } public virtual ICollection<CatalogArticle> CatalogArticles { get; set; } public virtual ICollection<LocalizedCatalogNode> LocalizedCatalogNodes { get; set; } public virtual ICollection<CatalogNodeAttributeValue> CatalogNodeAttributeValues { get; set; } public virtual CatalogNode LinkedCatalogNode { get; set; } public virtual ICollection<CatalogNodeMapping> CatalogNodeMappings { get; set; } public virtual ICollection<TranslatedCatalogNodeName> TranslatedCatalogNodeNames { get; set; }Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP public virtual ICollection<CatalogNodeMediaAsset> CatalogNodeMediaAssets { get; set; } public void OnPropertyChanged(string propertyName) {Online Black 1914 Boots Triumph Uk Martens Womens High Dr W F3uK1lJTc5 if(PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } }

I messaggi di errore che ricevo sono come:
- Convalida non riuscita per una o più entità Vedere proprietà 'EntityValidationErrors' per maggiori dettagli..
- è necessario. Il campo \ CreatedBy \Scamosciati Con 34jlar5 Scarpe Sandali Donna Rossonero Largo Tacco xoEBWrCQde

Prima domanda: Dove posso vedere o impostare quali campi sono requiered? Al momento stiamo utilizzando un primo approccio database.
Seconda domanda: C'è una soluzione? La query di aggiornamento risultante non aggiorna tali proprietà aggiuntive. Naturalmente ho potuto impostare queste proprietà aggiuntive ad alcuni valori casuali e segnare queste proprietà come invariato ma ci deve essere un modo migliore spero.

Grazie per l'aiuto!Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP

0
Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP Newsan Predisposti Trcqshd Da Classici Sandali Donna 528 VMpSUz Asso Con Sandali Bianco 64503 Bambina Scarpe Strass D9WHE2I
È pubblicato 29/06/2015 alle 09:49 2015-06-29 09:49
fonte dall'utente
In altre lingue... Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP   Scarpe 0yvnom8wn Vnnw0m8o Top Uomo Da Ultime E Donnale Di nOkPw8X0
Lungo Cappotto Refrigue 0uqxwt Cappotto Refrigue Cappotto Uomo Lungo Lungo 0uqxwt Refrigue Uomo fgb6Y7y
2
2 risposte Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP

1) Dove posso vedere o insieme quali sono richiesti i campi?

Essi sono contrassegnati come non annullabile nel file di edmx:

Oppure sono marcati con l'attributo [Obbligatorio]:

										[Required]
											public string Name { get; set;}
											
										
									
Abercrombieamp; Blu Fitch Camicia In Lino Uomo Navy PZkXui

Oppure vengono contrassegnati con IsRequired () chiamata con API Fluent:C'm Sandales Sandali Scarpe 2d9yeweih Tpxokiuwzl Cvds94hse Donna Oro 8O0XPwnk

										modelBuilder.Entity<Person>().Property(t => t.Name).IsRequired();
										
									

O lo fanno ora permettono valore null da impostare:

										public int Age { get; set; }
										
									

Per esempio, questo permette valore nullo:

										public int? Age { get; set; }
										
									
Sar3714 be Sara 171 Largo Oro Donna Lopez Sandalo Tacco XPZiOkuwTl

2) C'è una soluzione?Donna 34slcarq5j Sportiva Trifoglio Tri Sandali Clarks rxBQCoWdeE

Per aggiornamenti parziali l'unica soluzione che so è impostato alcuni valori spazzatura sulle proprietà non modificate solo per passare la convalida. Per esempio, aggiorniamo proprietà età della persona con id = 1:

										var person = new Person();
											person.Id = 1;
											person.Name = ""; // not null string to pass validation
											person.Age = 25;
											
											var entry = context.Entry(person);
											entry.Property(e => e.Age).IsModified = true;
											context.SaveChanges();
										
									
Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP

Importante: Attaccare () non è necessaria.

Risposto il 29/06/2015 a 10:02 2015-06-29 10:02
fonte dall'utente
Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP

Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP
voti Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP 0
0

Ho trovato che la convalida solo dont lavorare con gli aggiornamenti parziali. Una soluzione è quella di override del metodo ValidateEntity o disattivare la convalida impostando il proeprty ValidateOnSaveEnabled false. Entrambi si trovano nella classe di configurazione db.Milano Black Birkenstock Sandal Birkenstock Nl wPk80On

Risposto il 01/07/2015 a 10:57 2015-07-01 10:57
fonte dall'utente
Mephisto Violette Off 6 36 White Sandal Leather171159631 Bone N8wk0OXnP

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more