Bonjour,
Je travaille avec LINQ actuellement et je suis confronté au probléme suivant:
Lorsque je modifie manuellement une valeur dans une table x et qu'ensuite j'exécute une page .aspx dans laquelle je récupère cette valeur, la page me retourne non pas la valeur précédemment modifiée mais l'ancienne valeur.
De la même manière si je fais un update qui appelle une procédure stockée dans une page y les valeurs retournées ne sont pas les nouvelles mais toujours les anciennes.
Pour que la modification prenne effet je dois régénérer l'ensemble de mon projet voir vider et recréer mon fichier datacontext.dbml
Voici un exemple dans lequel ce probleme se produit :
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 public class ExistingResources : BaseRepository { public static IQueryable getTest() { var test = from x in BaseRepository.Model.tbl_dealmaker_ExistingResources where x.ExistingResourceID == 1 select( new { ExistingResourceID = x.ExistingResourceID, CreatedDate = x.CreatedDate, LastModifiedDate = x.LastModifiedDate, shortname = x.shortname, }); return test; } }
Voici comment est construite la classe BaseRepository qui contient le datacontext :
Si vous avez des pistes ou la solution n'hésitez pas....
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
21
22
23
24
25 public abstract class BaseRepository { private static myModelDataContext _model; private static readonly object padlock = new object(); protected static myModelDataContext Model { get { lock (padlock) { if (_model == null) _model = new myModelDataContext(); return _model; } } } public static void Update() { Model.SubmitChanges(); } }
Merci!!
Partager