Condividere DB fra più progetti

martedì 28 settembre 2010 - 17.48
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010  |  Visual Studio Express  |  SQL Server 2008  |  SQL Server Express

K1kk0z90 Profilo | Newbie

Ciao a tutti! :)
Ho realizzato una semplice applicazione pensata per un negozio, in cui l'utente inserisce i codici a barre dei prodotti, e questi vengono aggiunti ad una lista. Viene infine calcolato il totale, decrementando le scorte dal database.
Adesso dovrei realizzare l'applicazione per aggiungere o togliere i prodotti nel database, così ho creato un nuovo progetto all'interno della stessa soluzione. Adesso come faccio a condividere lo stesso database (con tanto di classi LINQ to SQL) con l'altra applicazione?
Ho fatto bene ad aggiungere un progetto alla stessa soluzione o avrei dovuto creare un'altra soluzione, oppure estendere la stessa applicazione usata per inserire i codici dei prodotti da pagare?
Grazie in anticipo per la vostra risposta! :D

freeteo Profilo | Guru

>Ho fatto bene ad aggiungere un progetto alla stessa soluzione
>o avrei dovuto creare un'altra soluzione, oppure estendere la
>stessa applicazione usata per inserire i codici dei prodotti da pagare?
secondo me è corretto appunto fare un progetto che incapsuli una determinata funzionalità (in questo caso l'accesso al database) e poi nelle varie soluzioni aggiungerlo e referenziare quello.
Questo ti permette di modificarlo nel caso ti servisse (magari mentre sviluppi un progetto ti serve una funzionalità e la integri subito) perchè è agganciato e disponibile direttamente dove stai lavorando, e puoi riciclare il codice.
Ad esempio io ho usato gli stessi progetti proprio per queste cose, direttamente in progetti web, win32 senza problemi, in soluzioni differenti ma il progetto è lo stesso.

Quindi ricapitolando, confermo che hai fatto bene

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

K1kk0z90 Profilo | Newbie

Grazie per la risposta, ma purtroppo ho ancora un problema.
Nel mio progetto GestioneMagazzino ho referenziato come mi hai consigliato il progetto Negozio.
Adesso però ottengo uno strano errore che non mi permette di compilare:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
L'errore del compilatore è il seguente:
[b]Il tipo 'System.Data.Linq.DataContext' è definito in un assembly di cui manca il riferimento. Aggiungere un riferimento all'assembly 'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.[/b]

Come mai?
Premetto che sto usando la stessa stringa di connessione che uso nell'altro progetto (dato che voglio connettermi allo stesso database).
Grazie ancora per la pazienza! :)

freeteo Profilo | Guru

Ciao,
hai la stessa versione del Framework? perchè a quanto pare il nuovo progetto non l'hai fatto con la stessa versione di framework .net, la 4.0...stai usando la 3.5? guarda nelle proprietà dei vari progetti...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

K1kk0z90 Profilo | Newbie

I due progetti utilizzano entrambi .NET Framework 4 Client Profile come Framework di destinazione. Infatti li ho creati tutti e due con Visual Studio 2010 Express, e non ho alterato questi valori di default.
Dove altro potrebbe essere la causa che scatena questo strano errore?
Grazie di nuovo! :)

EDIT: Risolto: non avevo messo il riferimento all'assembly System.Data.Linq, mentre nell'altro progetto probabilmente me lo aveva aggiunto automaticamente quando ho aggiunto le classi LINQ to SQL graficamente. Tutto è bene quel che finisce bene! :D
Grazie ancora per l'aiuto!

freeteo Profilo | Guru

>EDIT: Risolto: non avevo messo il riferimento all'assembly System.Data.Linq,
>mentre nell'altro progetto probabilmente me lo aveva aggiunto
>automaticamente quando ho aggiunto le classi LINQ to SQL graficamente.
pardon, pensavo che l'errore fosse del progetto stesso in fase di compilazione, non dell'altro progetto...cmq sì certo te lo aveva aggiunto vs da solo dal designer.


>Tutto è bene quel che finisce bene! :D
certo!


>Grazie ancora per l'aiuto!
di niente figurati siamo qui per questo.

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5