Multiple dbml with same tablesnwynuje2nqzuctqougiewgss65molx6kMultiple dbml with same tables

Tagged Under : , , , , , , ,

(Italiano → English) View original
Translators:

diagram dbml Probabilmente non è una di quelle operazioni che si compiono quotidianamente, ma pare non ci siano molte informazioni in giro riguardo a come includere diversi modelli dbml, contenenti le stesse tabelle, all’interno di un’unico progetto in Visual Studio, per cui ritengo valga la pena scriversi 2 appunti.sdvp3kygxjghbeqw2e2ac41gz9jls8j1

Poniamo il caso in cui sia necessario utilizzare dei database che contengono per caso 2 tabelle uguali, o in cui comunque ci siano gli stessi nomi di tabella, e includerli in un modello LINQ to SQL per riutilizzarli ad esempio con dynamic data.s17yx4xtop6kw7e8mtliawwx2iha0fbo

Se ci limitiamo a creare i dbml e ad aggiungervi le tabelle del nostro DB, al primo CTRL + B il compilatore di Visual Studio fallirà riportando tanti errori quante ridefinizioni delle stesse tabelle troverà.s14y2s03xpvn4iq3zs6gl48ml44gi96y

Per risolvere questo problema è sufficiente aggiungere un Context Namespace ed un Entity Namespace per ogni dbml, in modo che durante la compilazione non ci saranno conflitti nella dichiarazione delle classi (visto che le tabelle sono rappresentate da classi nel dbml).sdwhk8wk52lq0tqwqnmy7fmw71fmftuy

dbml

Ovviamente sarà necessario scegliere la connessione corretta per gestire il DB relativo al dbml, dichiarata preventivamente nel web.config, e visto che probabilmente vorremo usare il dbml nel progetto, ad esempio con dynamic data, dovremo modificare il global.asax dicendogli di utilizzare il datacontext corretto ed eventualmente registrando le nuove routes.sozfzddhfbauy6swewfswjsgiznt642t

Un buon articolo su come fare per registrare diverse routes di diversi dbml è disponibile qui.t0syit9yoo0xuhro4rwahu7q5xyz2prt

(original) Visualizza English translation

diagram dbml Probabilmente non è una di quelle operazioni che si compiono quotidianamente, ma pare non ci siano molte informazioni in giro riguardo a come includere diversi modelli dbml, contenenti le stesse tabelle, all’interno di un’unico progetto in Visual Studio, per cui ritengo valga la pena scriversi 2 appunti.

Poniamo il caso in cui sia necessario utilizzare dei database che contengono per caso 2 tabelle uguali, o in cui comunque ci siano gli stessi nomi di tabella, e includerli in un modello LINQ to SQL per riutilizzarli ad esempio con dynamic data.

Se ci limitiamo a creare i dbml e ad aggiungervi le tabelle del nostro DB, al primo CTRL + B il compilatore di Visual Studio fallirà riportando tanti errori quante ridefinizioni delle stesse tabelle troverà.

Per risolvere questo problema è sufficiente aggiungere un Context Namespace ed un Entity Namespace per ogni dbml, in modo che durante la compilazione non ci saranno conflitti nella dichiarazione delle classi (visto che le tabelle sono rappresentate da classi nel dbml).

dbml

Ovviamente sarà necessario scegliere la connessione corretta per gestire il DB relativo al dbml, dichiarata preventivamente nel web.config, e visto che probabilmente vorremo usare il dbml nel progetto, ad esempio con dynamic data, dovremo modificare il global.asax dicendogli di utilizzare il datacontext corretto ed eventualmente registrando le nuove routes.

Un buon articolo su come fare per registrare diverse routes di diversi dbml è disponibile qui.

Edit translation
Machine translation (Google):
Caricamento...
Copy to editor
or Annulla