C'est en travaillant pour un projet (et oui, même malade on travaille!) que je me suis posé la question de savoir quel était le meilleur moyen d'utiliser LINQ dans un constructeur d'objet. On pourrait par exemple faire ceci :
[code:c#]
public class Client
{
string _nom;
string _prenom;
...
public Client(int ClientID, DataContext dc)
{
var q = from c in dc.GetTable<ClientDB>()
where c.ClientID == ClientID
select new Client { ... };
...
}
}
[/code]
Mais c'est ridicule :). Construire une instance de classe en se servant de la création d'une instance de classe... Heuu...
Par contre, nous pouvons utiliser les objets anonymes qu'a introduit C# 3.0. Ce qui donnerait :
[code:c#]
public class Client
{
string _nom;
string _prenom;
...
public Client(int ClientID, DataContext dc)
{
var q = from c in dc.GetTable<ClientDB>()
where c.ClientID == ClientID
select new { Nom = c.Nom, ... };
...
}
}
[/code]
Ensuite pour initialiser les variables membres de notre classe nous pouvons procéder comme suit :
[code:c#]
...
var Personne = q.Single();
this._nom = Personne.Nom;
...
[/code]
Si vous connaissez d'autres méthodes, faites le moi savoir!
Lire la suite...
Tags:
linq
Catégorie :
LINQ
Une question sur cet article? n'hésitez pas a me contacter par Live Messegner. Suis-je connecté? 
Soyez le premier à noter ce billet
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Permalink |
Commentaires (0) |
Post RSS |