Bonjour chers tous,
Je suis débutant avec ASP.NET, je travaille sur un projet qui nécessite l'utilisation de procédures stockées qui se trouvent dans une Base de Données sur un autre serveur.
Après plusieurs recherche sur le NET, j'ai créé deux contexts et la connexion à la seconde base de donnée et un model de la table de la seconde base de donnée.
Mais à l'execution, j'ai l'erreur suivante : Nom d'objet 'dbo.MaTable' non valide. (MaTable est le nom de la table source de la procédure stockée).
Connexions
Context 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "ConnectionStrings": { "ConnectionString_1": "Server=ServeurLocal;Database=BaseLocale;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True", "ConnectionString_2": "Server=ServeurDistant;Database=BaserDistante;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True" } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public partial class Context1 : DbContext { public Context1 (DbContextOptions<Context1> options) : base(options) { } public virtual DbSet<model1> models1{ get; set; } ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public partial class Context2 : DbContext { public Context2 (DbContextOptions<Context2> options) : base(options) { } public virtual DbSet<model2> models2{ get; set; } ....
Injection des connexionx
Controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var ConnectionString1= builder.Configuration.GetConnectionString("ConnectionString_1") ?? throw new InvalidOperationException("La connexion au serveru n'a pas été établie."); builder.Services.AddDbContext<Context1>(options => options.UseSqlServer(ConnectionString_1)); var ConnectionString2= builder.Configuration.GetConnectionString("ConnectionString_2") ?? throw new InvalidOperationException("La connexion au serveru de trading n'a pas été établie."); builder.Services.AddDbContext<Context2>(options => options.UseSqlServer(ConnectionString_2));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public async Task<ActionResult> Index() { var liste= await _context2.model2.FromSqlRaw("EXEC procedure").ToListAsync(); return View(); }







Répondre avec citation
Partager