Bonjour,

Comme l'indique l'intitulé je suis à la recherche d'utilisateur de cette superbe Class, mais qui manque cruellement de documentation.

Pour ceux qui ont déjà exploité cette outil :

Je cherche à exploiter tel ou tel autre ClassMap en fonction de l'entête du fichier.
Avez vous une idée sur la méthodologie ?

Merci.

Pour ceux qui ne connaisse pas cela permet de transformer votre contenu CSV en un objet ou vice-versa, en fonction d'une class.

Votre fichier CSV
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
personId | FName | LName | BookId | BookName | PageId
 
1 | name1 | name1 | 1 | book1 | 1
1 | name1 | name1 | 1 | book1 | 2
1 | name1 | name1 | 1 | book1 | 3
1 | name1 | name1 | 2 | book2 | 1
1 | name1 | name1 | 2 | book2 | 2
2 | name2 | name2 | 3 | book3 | 1
2 | name2 | name2 | 3 | book3 | 2
2 | name2 | name2 | 3 | book3 | 3
Votre Class où vous n'êtes pas obligé de déclarer l'ensemble de vos colonnes

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
public class DataBook
{
public string? personId { get; set; }
public string? FName { get; set; }
public string? BookId { get; set; }
}

Votre appel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
using (CsvReader csv = new(reader, config))
{
 
	List<DataBook>? recordsImport = csv.GetRecords<DataBook>().ToList();
 
}
Vous pouvez même exploitez des "schémas" sans modifier votre class si vous ne souhaitez pas exploiter l'une de vos colonnes dans un cas précis.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
using (CsvReader csv = new(reader, config))
{
	csv.Context.RegisterClassMap<ImportShort >();
	List<DataBook>? recordsImport = csv.GetRecords<DataBook>().ToList();
}

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public class ImportShort : ClassMap<DataBook>
{
    public ImportShort ()
    {
        Map(m => m.personId);
        Map(m => m.FName).Ignore();
        Map(m => m.BookId);
    }
}
Il plein d'autre mécanisme.