Domanda

Ho un controllo Guage in MainPage.xaml che necessita di tre valori (valore, minimo e massimo).Ho scritto la logica per ottenere questi tre valori dal database in una procedura memorizzata.

Per favore fatemi sapere come posso chiamare questi valori in DomainService e associarvi le proprietà di controllo del calibro.

È stato utile?

Soluzione

Di seguito chiarirò le mie conoscenze poiché mi ci è voluto un po' di tempo per capirlo con precisione e mi piacerebbe contribuire in base alle linee guida sulla documentazione di SO per chiunque diverso da noi:

0) Presumo che tu abbia tutte le procedure memorizzate implementate e che utilizzi i servizi RIA (poiché sono più semplici per lo sviluppo Silverlight)

1) Nel file .Web, aggiungi un nuovo EDM: dovrai inserire manualmente tutte le procedure memorizzate tramite la funzione di importazione.A questo punto la parte di codice autogenerata dovrebbe essere fatta per te, vai avanti e costruisci il tuo progetto.

2) È ora di aggiungere il servizio del tuo dominio.Aggiungi un nuovo servizio di dominio, questo non genererà automaticamente il codice per inserire le tue procedure memorizzate.

3) Successivamente, visitare leeontech (http://leeontech.wordpress.com/2010/05/24/ria-services-and-storedprocedures/) per alcune codifiche manuali basate sulle definizioni delle procedure memorizzate.Quello che stai facendo qui è esporre i dati dalle procedure memorizzate.

4) Inizia a utilizzare le classi appena create

5) In Silverlight, quando utilizzi Gauge sul lato front-end, assicurati di assegnare prima max utilizzando Math.Max() e allo stesso modo min utilizzando i metodi Math.Min() nel gestore eventi Load completato.In questo modo hai la garanzia che la richiesta asincrona sia completata e che tu abbia dei valori disponibili.In realtà in Visual Studio è abbastanza semplice eseguire il debug anche di quel gestore eventi.

p.s.:Gli strumenti di Visual Studio possono riconoscere e consentire di creare tipi complessi in base alle procedure memorizzate implementate nel passaggio 1.Come migliore pratica personale, mi piace assegnare i nomi delle colonne restituite nel modo più univoco possibile, utilizzandoli quindi nel codice client allo stesso modo.

Nella selezione finale della procedura memorizzata farò qualcosa del genere

SELEZIONA actualValueInDatabase come clientSideDataTypeIWant...

se ha senso

Se quanto sopra non è chiaro, faccelo sapere e proverò ad aggiornare con ulteriori informazioni.

Buona fortuna!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top