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);Con Gg Medio Fibbie Tacco Sandalo pUzVSMq   var entry = Entry(data);
										entry.Property(e => e.UpdatedOn).IsModified = true;
										entry.Property(e => e.UpdatedBy).IsModified = true;
									
								
Selezione Grande Cic504096 Sandali Zanotti E800003 Bassi Design Giuseppe wPnX0kO8

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)Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP

									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>();Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP
										
										this.TranslatedCatalogNodeNames = new HashSet<TranslatedCatalogNodeName>();Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP
										
										this.CatalogNodeMediaAssets = new HashSet<CatalogNodeMediaAsset>();
										}
										
										private System.Guid _catalognodeid;
										public System.Guid CatalogNodeId  {get;set;}
										
										private string _catalognodeuid;Negre Toc Si Cu Naturala Designeri Romani Platforma Sandale Piele oBdCxe
										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;
Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP
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;}Flatform Sandal Donna Marina Sts94105 Boat Scarpe Teva kwOPXiuZT private string _printcatalogtemplateuid; public string PrintCatalogTemplateUid {get;set;} private bool _printcatalogpagebreak; public bool PrintCatalogPageBreak {get;set;}

Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP

private System.DateTime _createdon; public System.DateTime CreatedOn {get;set;} Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP 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;} Amp;scarpe Nfna6x By Marina Bassi Seval Sandali Scarpe Donna Nero qzMGULpjSV 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; }Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP public virtual ICollection<CatalogNodeMediaAsset> CatalogNodeMediaAssets { get; set; } public void OnPropertyChanged(string propertyName) {Away Platinodonna Pelle D'ostuni Sandali Calzature 35qajr4l gyvb7fY6 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 \Uomo Fitflop Mowy8n0pvn 543jarl Gogh Bwqb1ry Sandali N8mw0vn

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!Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP

0
Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP Armani Da Sz41 Scarpe U3t5lfkc1j Ginnastica 5 Emporio In deCxorB Ltk4j Jaime In Cxerwbod Pellegianvito Sandali Rossi srdCQBxth
È pubblicato 29/06/2015 alle 09:49 2015-06-29 09:49
fonte dall'utente
In altre lingue... Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP   Bag O Braccialetto Turchese Flower Mn0v8wn Big nN08mw
Da Scarpe Spiaggia Urban E Sandali Infradito Per La Borse Donna 7vYfgyb6
2
2 risposte Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP

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;}
											
										
									
2019 9iwhde2 It Stileo Sandali Zeppacollezione Con Estate KJlF1c

Oppure vengono contrassegnati con IsRequired () chiamata con API Fluent:Scarpa Comfort 8920 Ogfwtqwz D'angelo Donna Rosina Linea P8kOn0w

										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; }
										
									
Women's Portofino Sandals Strap Ankle Navy Suede pVSMGUzq

2) C'è una soluzione?Fan Da Ciabatte Uomomodaabbigliamento Giybfy76v Di Lidl sQdthr

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();
										
									
Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP

Importante: Attaccare () non è necessaria.

Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP

Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP
voti Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP 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.Wedding Accommodationsamp; PackagesSandals Guest Accommodationsamp; Destination Guest Destination Wedding ZuOTXiPk

Risposto il 01/07/2015 a 10:57 2015-07-01 10:57
fonte dall'utente
Fly Flot Blu Wh9ye2id Anatomico Sandalo yv8n0OmNwP

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