83 messaggi dal 11 agosto 2008
Buongiorno a tutti.
Ho un problemino da risolvere con i Ria DomainServices.
Ciò che devo fare è semplicissimo:
Ho una tabella contenente i dati anagrafici di un utente e devo permettere all'utente corrente di modificare i propri dati.
La tabella si chiama Person e dopo aver creato l'EntityDataModel, ho generato un DomainService chiamato PersonService.
All'interno di questo ho creato un metodo per recuperare l'utente corrente:

 
public Person GetPersonByUserName(string userName) 
{ 
  return this.ObjectContext.People.Where(p => p.NomeUtente == userName).First(); 
} 


Nella mia windows ho aggiunto una DataForm e creato il Context nel codebehind nel modo seguente:

private PersonContext context = new PersonContext();

public PersonWindow()
{
PersonContext context = new PersonContext();
string userName = WebContext.Current.User.Name;

InitializeComponent();

context.Load(context.GetPersonByUserNameQuery(userName));
}


E adesso?
Come faccio ad associare la persona caricata al dataForm?
Ho provato in vari modi, ma sembra che il problema sia il fatto che l'associazione venga fatta prima che i dati vengono caricati e quindi non apapre nulla.
In modo più generico, se io volessi semplicamente creare un oggetto di tipo Person e caricare al suo interno come devo fare?

Person person = ???


E poi, questa associazione dovrei farla quando i dati sono stati caricati, ma non trovo nessun Event On_Loaded in context.

Dove mi sto perdendo?

Grazie a tutti e buona domenica.

Andrea
Andufer wrote:
Dove mi sto perdendo?

io non ho capito cosa vuoi fare. potresti spiegarti meglio?
.

Daniele Bochicchio | ASPItalia.com
I libri su HTML5, WP7, ASP.NET, VB, C#, Entity Framework
Senior Software Architect@5DLabs.it
Microsoft Regional Director for Italy
83 messaggi dal 11 agosto 2008
Ciao Daniele e grazie dell'interesse.
Dovo vari studi, ho capito come riuscire a ottenere il mio oggetto Person attraverso i Ria Services.

    private PersonContext context = new PersonContext();
    
    var loadPerson = context.Load(context.GetPeopleByUserNameQuery(UserName));
    loadPerson.Completed += new EventHandler(loadPerson_Completed);


e poi:

void loadPerson_Completed(object sender, EventArgs e)
    {
      Person person = context.Persons.FirstOrDefault();
      ...
    }


Penso sia il modo corretto. Tu cosa ne dici?

Buona giornata a tutti.
Andrea

Andrea
Andufer wrote:
Penso sia il modo corretto. Tu cosa ne dici?

che potresti farti dare direttamente Person, anzichè una lista, evitando poi di crearlo a mano dopo.
.

Daniele Bochicchio | ASPItalia.com
I libri su HTML5, WP7, ASP.NET, VB, C#, Entity Framework
Senior Software Architect@5DLabs.it
Microsoft Regional Director for Italy

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.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC