pour normaliser mon système j'ai amélioré la class ENTITIES (même namesapce évidement)
tout ceci marche tres bien quand je passe la chaine de connexion dans ce style
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 public partial class XXXEntities : DbContext { public XXXEntities(string nameOrConnectionString) : base(nameOrConnectionString) { } public static XXXEntities Create(string providerConnectionString) { var entityBuilder = new EntityConnectionStringBuilder(); entityBuilder.ProviderConnectionString = providerConnectionString; entityBuilder.Provider = "System.Data.SqlClient"; entityBuilder.Metadata = @"res://*/ModelDMC.csdl|res://*/ModelDMC.ssdl|res://*/ModelDMC.msl"; return new DMCEntities(entityBuilder.ConnectionString); } public static string cnxDeco = @"^metadata=(?<meta>.+);provider=(?<provider>.+);provider connection string='(?<cnx>.+)'$"; public static XXXEntities CreateFromAppConfigString(string appConfString) { Regex regex = new Regex(cnxDeco); Match m = regex.Match(appConfString.Replace(""", "\'").Replace("\"","'")); var entityBuilder = new EntityConnectionStringBuilder(); try { if (m.Success) { entityBuilder.Metadata = m.Groups["meta"].ToString(); entityBuilder.Provider = m.Groups["provider"].ToString(); entityBuilder.ProviderConnectionString = m.Groups["cnx"].ToString(); return new DMCEntities(entityBuilder.ConnectionString); } else { throw new Exception("Chaine de connexion invalide = \"" + appConfString + "\""); } } catch (Exception ex) { throw ex; } return null; } }la par exemple j'ai bien la liste des tous les utilisateurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 XXX = XXXEntities.CreateFromAppConfigString(chaine_de_connexion); var v = XXX.Utilisateur.ToList();
mais si je fais celaca ne marche pas ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Utilisateur u = new Utilisateur() { Cab = "10", Nom = "alpha", Equipe = "e", Niveau = 100, }; XXX.Utilisateur.Add(u);
quelqu'un a t'il une petite idee ?
Partager