Bonjour,
j'ai une fonction qui permet de faire des conversions entre type bdd (EF) et type C#
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public static T ConvertTo<T>(this DbDataRecord record) { T item = Activator.CreateInstance<T>(); for (int f = 0; f < record.FieldCount; f++) { PropertyInfo p = item.GetType().GetProperty(record.GetName(f)); if (p != null & & p.PropertyType == record.GetFieldType(f)) { p.SetValue((item, record.GetValue(f), null); } } return item; }
Seulement elle sort une exception si jamais mon record a une valeur nulle.
J'ai donc modifiée la ligneen
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part p.SetValue((item, record.GetValue(f), null);
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part p.SetValue((item, record.GetValue(f) == DBNull.Value ? "" : record.GetValue(f), null);
Bien entendu cela ne fonctionne que pour les String.
J'aurais aimé savoir s'il y avait moyen de faire quelque chose d'un brin plus générique, prenant en compte le type de p.
Merci d'avance
Partager