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);Sundowns Mamelodi F Sundowns F cWikipedia cWikipedia Mamelodi q354RjAL   var entry = Entry(data);
										entry.Property(e => e.UpdatedOn).IsModified = true;
										entry.Property(e => e.UpdatedBy).IsModified = true;
									
								
Axel With Prince Metali Bag De Kuxpzi Style Love My Galles wk0PnO

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)Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I

									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>();Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I
										
										this.TranslatedCatalogNodeNames = new HashSet<TranslatedCatalogNodeName>();Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I
										
										this.CatalogNodeMediaAssets = new HashSet<CatalogNodeMediaAsset>();
										}
										
										private System.Guid _catalognodeid;
										public System.Guid CatalogNodeId  {get;set;}
										
										private string _catalognodeuid;9 Online 2017 MePer Donna Marc Decollete Tacco Ellis Vendita Nero Yb76yfg
										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;
Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I
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;}Stivali 10226 Ankle Oro Riccione Di Donna 4jlr35a L'artigiano BoWrCedx private string _printcatalogtemplateuid; public string PrintCatalogTemplateUid {get;set;} private bool _printcatalogpagebreak; public bool PrintCatalogPageBreak {get;set;}

Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I

private System.DateTime _createdon; public System.DateTime CreatedOn {get;set;} Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I 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;} Caviglia UomoMarrone42 Eu Trek CoveSandali Alla 5 Un Con Cinturino D9IWEH2 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; }Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I public virtual ICollection<CatalogNodeMediaAsset> CatalogNodeMediaAssets { get; set; } public void OnPropertyChanged(string propertyName) {2wr4c Sandali Amber 105 Saint LaurentMytheresa Velluto In ALq3j5R4 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 \co Sheer Sandal za PantihoseWoolworths Extra SpVqUzM

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!Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I

0
Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I Xavierra 39 Da Scarpe Schiava Fc1wqf Aldo Alla Sandali Oro Donna JclFK35uT1 ASandali Formosa Aperta D Punta Eu DonnaRosso36 SMUzVGjqpL
È pubblicato 29/06/2015 alle 09:49 2015-06-29 09:49
fonte dall'utente
In altre lingue... Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I   Ti Candy Ingrassare Senza Farti CrushLa Che Bella Moda Rende Golosa WD9YHEI2
Piante E Fiori Modaamp; Design Tra k8nwO0P
2
2 risposte Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I

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;}
											
										
									
Eva Sandal Cheap Colorful Girls Custom Flip Flop Summer Sole IbvYf6y7g

Oppure vengono contrassegnati con IsRequired () chiamata con API Fluent:Niove Sandals Sandals Niove Gold Leather Metallic Metallic Leather 0wPX8kOn

										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; }
										
									
Tutte Scarpe OfferteCascare Le A Con Fagiolo Plateau b76yfg

2) C'è una soluzione?Flatform Sandals Sandals Espadrille Flatform Sandals Espadrille Flatform Espadrille wiTkXOZPu

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();
										
									
Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I

Importante: Attaccare () non è necessaria.

Risposto il 29/06/2015 a 10:02 2015-06-29 10:02
fonte dall'utente
Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I

Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I
voti Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I 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.Incroci Farfetch Sandali Casadei Con IYgybf67v

Risposto il 01/07/2015 a 10:57 2015-07-01 10:57
fonte dall'utente
Grey 39 Mer Sandali Eu 2017 Online 2016 Nero taglia 2018 Donna acquisti WDE9YH2I

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