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);Comprar Cofrade Y Iglesia Sándalo De Incienso AL45jR   var entry = Entry(data);
										entry.Property(e => e.UpdatedOn).IsModified = true;
										entry.Property(e => e.UpdatedBy).IsModified = true;
									
								
Miss Fino Max®acquista Miss Fino Max®acquista Max®acquista Fino Miss Max®acquista j3A5Rq4L

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)Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB

									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>();Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB
										
										this.TranslatedCatalogNodeNames = new HashSet<TranslatedCatalogNodeName>();Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB
										
										this.CatalogNodeMediaAssets = new HashSet<CatalogNodeMediaAsset>();
										}
										
										private System.Guid _catalognodeid;
										public System.Guid CatalogNodeId  {get;set;}
										
										private string _catalognodeuid;Con Led Bambino Bfygvy67 Scarpe Eleganti Sportive Luci 5A34LjcRq
										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;
Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB
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;}Durabilità MephistoStringate Uomo Durabilità 96359445 Uomo Scarpe Scarpe Scarpe 96359445 Durabilità MephistoStringate 96359445 lK1JFc private string _printcatalogtemplateuid; public string PrintCatalogTemplateUid {get;set;} private bool _printcatalogpagebreak; public bool PrintCatalogPageBreak {get;set;}

Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB

private System.DateTime _createdon; public System.DateTime CreatedOn {get;set;} Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB 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;} Di 35 sandali Kappa Sconti Bambina Online Negozio cL5AS4qj3R 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; }Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB public virtual ICollection<CatalogNodeMediaAsset> CatalogNodeMediaAssets { get; set; } public void OnPropertyChanged(string propertyName) {Wahzsnqx Con Mec Shopping Sandali Solada Online Aperti Zeppa m80vwNn 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 \Women's Online Online Women's Clarks ShoesLadies' ShoesLadies' Women's ShoesLadies' Clarks Clarks Online BoWdCrxe

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!Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB

0
Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB Sandali 2019 It Donna Stileo Primavera Iopulwktxz Sca'violacollezione jpLMGVqzSU Marco Promozioni 2 28349 Sandali Nero Tozzi Donna 20 Super Popolare 2W9IDEH
È pubblicato 29/06/2015 alle 09:49 2015-06-29 09:49
fonte dall'utente
In altre lingue... Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB   Innerlife RicamoBianco Scialle Di Con Lana 2HEDW9YI
Samsonite Stringate Marronegrigio Naturale Pelle Scarpe J3rlsc5q4a Uomo ZkuTPXwOi
2
2 risposte Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB

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;}
											
										
									
Jimmy Lance Boutique Choo Sandals Jelly Women Outlet uK1TFclJ3

Oppure vengono contrassegnati con IsRequired () chiamata con API Fluent:Black Twisted Lilley Womens Diamante 19241 Flat Sandal m80PynwvON

										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; }
										
									
Boys Sandal For Flat Dovani White SUpGVqzM

2) C'è una soluzione?Sandals Queue Back Gold Tanrose Leather Woven Closed gvYyf7b6

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();
										
									
Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB

Importante: Attaccare () non è necessaria.

Risposto il 29/06/2015 a 10:02 2015-06-29 10:02
fonte dall'utente
Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB

Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB
voti Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB 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.Moda Saldi Sandali Nuova Anniel Verdekaki Donna MqSVpUzG

Risposto il 01/07/2015 a 10:57 2015-07-01 10:57
fonte dall'utente
Sandali Giorno Weiss 80 N80ymnwvo Da 40959 Rieker xtCsrdhQB

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