mag
14(Italiano → English) View originalTranslators:
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.tgsxkrq7z9qpx8kuge754z1nr73dcekx
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.t5vsil54pkgsf1604gd2zw5u6g51qusp
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à.tvbgi29awf8vwaqkbteusfwe8oa67gqi
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).t8uk4rla4xzxrko74bj1avke6kpcaavn
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.t9g5ep34c1p0xvywlxroia4t15eiyd62
Un buon articolo su come fare per registrare diverse routes di diversi dbml è disponibile qui.ubtcry1gjah3245e56o0muyx7o8ntqyl
(original) Visualizza English translation
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).
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.



