Bonjour,

Je début en linq et j'ai une question.

J'ai un table des département toute simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Departement(DEPT_ID,DEPT_LIBELLE)
J'utilise une classe pour cet objet métier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
public class Departement
  {
    int mN_DEPT_ID;
    string mSZ_DEPT_LIBELLE;
    int mN_REGION_ID;
 
    [Column(Name = "DEPT_ID", IsPrimaryKey = true, DbType = "int")]
    public int N_DEPT_ID
    {
      get { return mN_DEPT_ID; }
      set { mN_DEPT_ID = value; }
    }
 
    [Column(Name = "DEPT_LIBELLE", DbType = "varchar")]
    public string SZ_DEPT_LIBELLE
    {
      get { return mSZ_DEPT_LIBELLE; }
      set { mSZ_DEPT_LIBELLE = value; }
    }

Comme vous le voyez, le nom des propriétés n'est pas le meme que le nom des champs.

Voici mon code linq pour alimenter une dropdownlist
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
  DataContext oDataContext = new DataContext(System.Configuration.ConfigurationManager.ConnectionStrings["MaBaseDeDonnees"].ConnectionString);
Table<Departement> oTable = oDataContext.GetTable<Departement>();
var query = (from c in oTable select new { c.SZ_DEPT_LIBELLE, c.N_DEPT_ID});
 
          LST_DEPARTEMENT.DataSource = query;
          LST_DEPARTEMENT.DataTextField = "SZ_DEPT_LIBELLE";
          LST_DEPARTEMENT.DataValueField = "N_DEPT_ID";
          LST_DEPARTEMENT.DataBind();
Comment faire pour retrouver "SZ_DEPT_LIBELLE" par le code et non plus en le passant en string.

Merci