94 lines
3.2 KiB
Markdown
94 lines
3.2 KiB
Markdown
# Analisi DataSetS174
|
|
|
|
## Problema Riscontrato
|
|
|
|
Il file `DataSetS174.xsd` contiene una definizione di dataset che corrisponde a `DataSetS173`. Questo causa errori di compilazione dovuti a duplicazione di codice, in quanto Visual Studio genera lo stesso codice due volte.
|
|
|
|
## Dettagli Tecnici
|
|
|
|
- File coinvolti:
|
|
- `DataSetS174.xsd` - Contiene identificatori di `DataSetS173`
|
|
- `DataSetS174.Designer.cs` - Contiene codice generato duplicato
|
|
- `DataSetS173.xsd` - File originale
|
|
- `DataSetS173.Designer.cs` - File originale
|
|
|
|
## Causa Probabile
|
|
|
|
La situazione sembra essere il risultato di un tentativo incompleto di creare un nuovo DataSet (S174) partendo da S173 come template:
|
|
|
|
1. È stato copiato il file S173.xsd rinominandolo in S174.xsd
|
|
2. Non sono stati modificati gli identificatori interni nel file:
|
|
- `id="DataSetS173"`
|
|
- `Generator_DataSetName="DataSetS173"`
|
|
- Altri riferimenti a S173
|
|
3. Il file è stato committato in questo stato incompleto
|
|
|
|
## Possibili Soluzioni
|
|
|
|
1. **Rimozione di S174**
|
|
- Rimuovere tutti i file relativi a S174 se il dataset non è effettivamente necessario
|
|
- Files da rimuovere:
|
|
- DataSetS174.xsd
|
|
- DataSetS174.Designer.cs
|
|
- DataSetS174.xsc
|
|
- DataSetS174.xss
|
|
|
|
2. **Correzione di S174**
|
|
- Se serve effettivamente un nuovo DataSet S174:
|
|
1. Modificare tutti gli identificatori interni da S173 a S174
|
|
2. Aggiornare eventuali riferimenti nelle tabelle e nelle colonne
|
|
3. Rigenerare il codice del Designer
|
|
|
|
## Impatto
|
|
|
|
La risoluzione di questo problema eliminerà gli errori di compilazione:
|
|
|
|
- Attributi duplicati (CS0579)
|
|
- Membri duplicati (CS0102)
|
|
- Definizioni duplicate (CS0111)
|
|
|
|
## Note
|
|
|
|
## Analisi Estesa
|
|
|
|
L'analisi è stata estesa ad altri DataSet del progetto, rivelando problemi simili:
|
|
|
|
1. **DataSetS175.xsd**:
|
|
- Usato per i dettagli dei prodotti protetti Blue/White
|
|
- Aveva lo stesso problema di S174: conteneva riferimenti a S173
|
|
- È stato corretto aggiornando tutti i riferimenti da S173 a S175
|
|
|
|
2. **DataSetS177.xsd**:
|
|
- Usato per il profilo di rischio e adeguatezza MIFID2
|
|
- Conteneva riferimenti al namespace di S151
|
|
- È stato corretto aggiornando il namespace da S151 a S177
|
|
|
|
3. **DataSetS172.xsd** e **DataSetS172Bis.xsd**:
|
|
- Usati per la piramide tutela del Capitale protetto
|
|
- Entrambi usavano il namespace di S133
|
|
- Sono due versioni dello stesso DataSet per gestire diversi tipi di prodotti (Italfund e Fonditalia)
|
|
- Sono stati corretti aggiornando il namespace da S133 a S172
|
|
|
|
### Soluzione Applicata
|
|
|
|
Per ogni DataSet problematico:
|
|
|
|
1. Sono stati corretti i riferimenti nei file .xsd
|
|
2. È stato rigenerato il codice Designer.cs usando "Esegui strumento personalizzato" in Visual Studio
|
|
|
|
### Pattern Identificato
|
|
|
|
È emerso un pattern comune:
|
|
|
|
1. I DataSet venivano spesso creati copiando file esistenti
|
|
2. Durante la copia, non sempre venivano aggiornati tutti i riferimenti interni
|
|
3. Questo causava problemi di namespace e duplicazione del codice generato
|
|
|
|
### Raccomandazioni
|
|
|
|
1. Quando si crea un nuovo DataSet, usare il template di Visual Studio invece di copiare file esistenti
|
|
2. Se si deve copiare un DataSet esistente, verificare sempre di aggiornare:
|
|
|
|
- L'attributo `id` dello schema
|
|
- Il `targetNamespace` e tutti i riferimenti `xmlns`
|