Djzlouk
Messages postés70Date d'inscriptionjeudi 26 juillet 2007StatutMembreDernière intervention20 janvier 2011
-
15 nov. 2010 à 12:48
Shaolyne
Messages postés155Date d'inscriptionjeudi 12 mai 2005StatutMembreDernière intervention 8 mars 2011
-
15 nov. 2010 à 14:11
Bonjour,
J'ai réalisé un site web avec LinqtoSQL et ca marche d'enfer!!!
Par contre je me pose quelques qustions de structure.
Donc j'ai fait 3 projets :
[list]
[*] Web (Partie présentation)
[*] Model(Modélisation de la bdd)
[*] Metier (Couche d'acces aux données avec les logiques qui vont bien)
/list
Dans ma couche metier, j'ai plusieurs class : BLLUser, BLLAffaire, BLLDroit... et je ne sais pas trop ou instancier mon datacontext LinqToSQL.
Quelques examples :
1)
public class BLLUser
{
private static readonly LinqToSqlDataContext Dao = new LinqToSqlDataContext();
public static IEnumerable GetUser(bool isActif = true)
{
if (isActif)
{
return Dao.Users.Where(c => c.IsActif);
}
return Dao.Users;
}
public static User GetUser(int idUser)
{
return Dao.Users.FirstOrDefault(c => c.IdUser == idUser);
}
}
2)
public class BLLUser
{
public static IEnumerable GetUser(bool isActif = true)
{
using (var Dao = new LinqToSqlDataContext())
{
if (isActif)
{
return Dao.Users.Where(c => c.IsActif);
}
return Dao.Users;
}
}
public static User GetUser(int idUser)
{
using (var Dao = new LinqToSqlDataContext())
{
return Dao.Users.FirstOrDefault(c => c.IdUser == idUser);
}
}
}
Bref 2 possibilités qui se ressemblent beaucoup mais laquelle est la mieux? Es qu'il y a d'autre possibilité?
Shaolyne
Messages postés155Date d'inscriptionjeudi 12 mai 2005StatutMembreDernière intervention 8 mars 20111 15 nov. 2010 à 14:11
Bien le bonjour Djzlouk,
La solution a adopter dépend majoritairement de l'utilisation que tu fais de LinQ2SQL. En effet, en choisissant une solution particulière, tu pourrais te trouver bloqué.
Une analyse réalisée par Rick Strahl décrit très bien les problématiques que tu peux rencontrer dans chaque cas: http://www.west-wind.com/weblog/posts/246222.aspx
Concernant un singleton, je pense qu'il n'aurait pas d'intérêt particulier étant donné que la solution 1 propose déjà une instance unique du dataContext (la seule différence est le moment où l'instanciation est réalisée)