!!! Si prega di non reindirizzare a this article, in quanto non risolve il problema descritto di seguito.LINQ2SQL: come modificare i valori dei campi durante il caricamento di entità anonime?
Diciamo che abbiamo una tale tabella nel database:
SomeTable
- ID (int)
- DT (datetime)
abbiamo configurato un data Linq2Sql contesto. E abbiamo configurato un'entità per SomeTable: Il metodo OnLoaded modifica DT in modo che DateTimeKind di DT diventi Utc (inizialmente non specificato).
Ora qui è il problema:
Se chiediamo dati utilizzando intera entità, il metodo OnLoaded si chiama:
From x In ourDataContext.SomeTable Select x
Ma se si richiede solo una parte del tavolo (e quindi generare un anonimo tipo), l'OnLoaded non si chiama:
From x In ourDataContext.SomeTable Select x.DT
è chiaro che OnLoaded è definita entità SomeTable, e non nel tipo anonimo.
Al momento considero la creazione di entità personalizzate che sostituiscono i tipi anonimi. Ma forse qualcuno ha una soluzione migliore?
Immagino che sia l'unico modo per ora ...: / – Dima