Inserire un primary key composta con LinqToSql
crixo non è online. Ultima attività: 28/08/2008 14.19.25crixo
Inserito il: 06 agosto 2008 16.56
contributi / www.webprofessor.it / 466 messaggi dal 26 giu 2002 Istalla Microsoft Silverlight!
Vorrei usare LinqToSql per aggiungere un record in una table la cui primary key e' composta da 4 colonne.
quando creo la mia istnaza conosco le prime 3 colonne, ma la 4 deve essere una sequence univoca all'interno del gruppo determinato dalle prime 3 colonne.
ovvero
col1=a + col2=a + col3=a + col4=1 first row
col1=a + col2=a + col3=a + col4=2 second row

vorrei creare con linqtosql la mia istanza, lasciare empt col4, eseguire submitChanges and avere la mia col4 valorizzata correttamente dopo che la mia istnaza e' stata salvata nel db

so che potrei farlo con una sp creata a doc e linkata al mio objectmodel, ma mi domandavo se LinqToSql fornisce qualche facilities per ottenere lo stesso risultato che sia quando la primary key viene da un sequence(sqlserver identity)

grazie

RE: Inserire un primary key composta con LinqToSql
fabrica è online. Ultima attività: 28/08/2008 15.19.30fabrica
Inserito il: 06 agosto 2008 17.17
Top Poster / www.fabricasoft.net / Blog / 1265 messaggi dal 03 dic 2001 Istalla Microsoft Silverlight!
Ciao,

se non ho capito male vuoi recuperare l'Id della Pk identity ?
Se è così:
db.MyObject.InsertOnSubmit(myObjectEntity);
db.SubmitChanges();
int lastId= myObjectEntity.PkID;


Modificato da fabrica il 06 agosto 2008 17.18 -

Fabrizio Canevali

Working on VS2008,LINQ & WPF ...
RE: Inserire un primary key composta con LinqToSql
crixo non è online. Ultima attività: 28/08/2008 14.19.25crixo
Inserito il: 06 agosto 2008 17.39
contributi / www.webprofessor.it / 466 messaggi dal 26 giu 2002 Istalla Microsoft Silverlight!
no non voglio recuperare la PK as Identity, non uso quello nella mia table
LinqToSql deve generarmi un valida primary key basata sulla combinazione di 4 colonne dove le prime 3 sono passate e la quarta deve essere generata facendo +1 rispetto alla ultima inserita

RE: Inserire un primary key composta con LinqToSql
fabrica è online. Ultima attività: 28/08/2008 15.19.30fabrica
Inserito il: 06 agosto 2008 17.46
Top Poster / www.fabricasoft.net / Blog / 1265 messaggi dal 03 dic 2001 Istalla Microsoft Silverlight!
crixo ha scritto:
no non voglio recuperare la PK as Identity, non uso quello nella mia table
LinqToSql deve generarmi un valida primary key basata sulla combinazione di 4 colonne dove le prime 3 sono passate e la quarta deve essere generata facendo +1 rispetto alla ultima inserita
Ciao,
se la quarta è Identity lo fa sql altrimenti fai un Max +1 sulla quarta colonna.

Fabrizio Canevali

Working on VS2008,LINQ & WPF ...
RE: Inserire un primary key composta con LinqToSql
crixo non è online. Ultima attività: 28/08/2008 14.19.25crixo
Inserito il: 06 agosto 2008 21.04
contributi / www.webprofessor.it / 466 messaggi dal 26 giu 2002 Istalla Microsoft Silverlight!
Grazie per il suggerimento... ma avevo un'idea su come farlo in sql :-)
mi domando se e come farlo con LinqToSql senza agganciarci una sp ad hoc!

Modificato da crixo il 06 agosto 2008 21.04 -

RE: Inserire un primary key composta con LinqToSql
fabrica è online. Ultima attività: 28/08/2008 15.19.30fabrica
Inserito il: 06 agosto 2008 21.15
Top Poster / www.fabricasoft.net / Blog / 1265 messaggi dal 03 dic 2001 Istalla Microsoft Silverlight!
Ciao,

beh, quello che faresti in sql lo fai anche con linq (o quasi ;)

Fabrizio Canevali

Working on VS2008,LINQ & WPF ...
Microsoft Most Valuable Professional
Re: Inserire un primary key composta con LinqToSql
SM15455 è online. Ultima attività: 28/08/2008 15.16.13SM15455
Inserito il: 07 agosto 2008 02.18
contributi / Top Poster / Community manager / Blog / 2545 messaggi dal 06 set 2002 Istalla Microsoft Silverlight!
Ciao,

LINQ To SQL non può generare una parte della chiave. O lo fa il database o lo fai tu. Quindo la risposta è che devi fare la cosa a mano.
HTH

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


vladimiro - 1650 pt
fabrica - 1622 pt
PeppeDotNet - 700 pt

Ultimi vincitori: PeppeDotNet, fabrica, vladimiro

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008 + Windows Server 2008, ReShaper e 1 ebook!



COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums