KratosKaiBia ha scritto:
KratosKaiBia ha scritto:
Salve a tutti,
Solo una semplice domanda: Entity Framework 6 gestisce i Synonyms creati con SQL Server?
Semplicemente devo accedere ad un paio di tabelle che sono su un altro DB e, a meno che di creare 2 context, non sono riuscito a trvare altre soluzioni .
Grazie!
Ok, ho risolto una parte dei miei problemi: sul Synonym ho creato una vista che posso importare con l'EF. Rimane un problema, l'update...
"Sarò breve e circonciso"(.Cit), perché sono al lovoro.
Ho trovato la soluzione, anche se mi pare che non freghi a nessuno di questo problema! ;(
Sinossi.
db A, mappato con EF6. A però deve utilizzare alcune tabelle (sia in lettura, sia in scrittura) all'interno del db B.
Soluzione.
Per la lettura è tutto relativamente semplice: prima creo un Synonym nel db A della tabella B.tbl_interessata e poi su questo sinonimo ci creo una vista vw_vista (le viste sono gestite in EF, ma solo per la lettura).
Per la scrittura, le cose si complicano.
dal file EF cancello tutti i riferimenti alla vista che ho creato nello step precedente. Su SQL Server Management Studio ricreo la struttura della tabella B.tbl_interessata in un'altra tabella di supporto. Faccio l'update della del modello (la vista la ignoro) e cancello da SQL la mia tabella di supporto. Fatto questo, faccio un replace in file di "tbl_interessata" con "vw_vista".
Con questa operazione faccio credere all'EF che la mia vista sia una tabella.
Da qui (http://blogs.msdn.com/b/alexj/archive/2009/09/01/tip-34-how-to-work-with-updatable-views.aspx) sono partito per risolvere il problema, ma attenzione che il suo workaround è più ostico di quanto non si pensi (i punti da modificare per "mentire" all'EF sono svariati, ed è per questo che ho optato per la creazione di una tabella di supporto).
Se non vi è chiaro qualcosa, chiedete pure :)
Modificato da KratosKaiBia il 18 dicembre 2014 12.00 -