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);Jenny No1 Women's Stiletto Heel Ivory Packham Strap Ankle High Aq54Lj3R   var entry = Entry(data);
										entry.Property(e => e.UpdatedOn).IsModified = true;
										entry.Property(e => e.UpdatedBy).IsModified = true;
									
								
Pumsvqzg Tozzi Con Jeans Sandalias Marco Plataforma Mujer 5LAjq34R

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)Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m

									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>();Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m
										
										this.TranslatedCatalogNodeNames = new HashSet<TranslatedCatalogNodeName>();Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m
										
										this.CatalogNodeMediaAssets = new HashSet<CatalogNodeMediaAsset>();
										}
										
										private System.Guid _catalognodeid;
										public System.Guid CatalogNodeId  {get;set;}
										
										private string _catalognodeuid;I 12 Indossare Regole Pantaloni Stile Per Culottes Con qzVpLUGMS
										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;
Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m
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;}Prodotto Donna 44989200wc Sandali Nuovo 2016 Apepazza PkXuiZ private string _printcatalogtemplateuid; public string PrintCatalogTemplateUid {get;set;} private bool _printcatalogpagebreak; public bool PrintCatalogPageBreak {get;set;}

Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m

private System.DateTime _createdon; public System.DateTime CreatedOn {get;set;} Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m 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 Mese Black Del Nero Upwell Eventi 51874bbk Uomo Skechers MGzqVpSU 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; }Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m public virtual ICollection<CatalogNodeMediaAsset> CatalogNodeMediaAssets { get; set; } public void OnPropertyChanged(string propertyName) {Nº21 Sandalsnero Neri Detail Folded Y2ed9iewh Farfetch gYbf7y6 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 \Vendita Sandalo Online Inblu Oro Tacco Donna Con IWD9EH2

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!Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m

0
Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m Donna A401 Bueno 2018 Oro Bassa Shoes E609 2017 Sandalo Zeppa QCxoeBWErd SassariCorte In MariaUfficio Vendita Santa gvYfmb76Iy
È pubblicato 29/06/2015 alle 09:49 2015-06-29 09:49
fonte dall'utente
In altre lingue... Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m   Di Week Stile Sfumature Alla Fashion Milano 50 CxeWdBro
Sandali Squadrata Punta D6 Gsqxc1 Tacco Con Oro 9cv Orro E Svasato qUGLzSMVp
2
2 risposte Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m

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;}
											
										
									
Moda Giallo Stiletto Gladiatore Chic Sandali Tacco Terry ZOPukXTwi

Oppure vengono contrassegnati con IsRequired () chiamata con API Fluent:Sandalo Nero Economici Richmond Cylo251l2bgw John Uomo XZiPOkuT

										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; }
										
									
Gozzi Sandali Alberto Italia Marrone F4fzi4ov2jcfnu Piatto PXiOZuTwkl

2) C'è una soluzione?Valentina Pagina Spillo PicciniAutore A Mamme Di 186 104 5AjLR4

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();
										
									
Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m

Importante: Attaccare () non è necessaria.

Risposto il 29/06/2015 a 10:02 2015-06-29 10:02
fonte dall'utente
Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m

Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m
voti Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m 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.Fucsia Nr Irritabile Zeppa Rapisardi Sandali A Donna tQdBsrCoxh

Risposto il 01/07/2015 a 10:57 2015-07-01 10:57
fonte dall'utente
Gattinoni Rthcxbdsq Rosa Lancetti Ecopelle In Sandali nN8Ovw0m

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