Ho scritto un'app che uso come agente per interrogare i dati da un database e caricarlo automaticamente nella mia cache web distribuita .LINQ-to-SQL: ExecuteQuery (Type, String) popola un campo, ma non l'altro
Lo faccio specificando una query sql e un tipo in una configurazione. Il codice che in realtà l'interrogazione si presenta così:
List<Object> result = null;
try { result = dc.ExecuteQuery(elementType, entry.Command).OfType<Object>().ToList(); }
catch (Exception ex) { HandleException(ex, WebCacheAgentLogEvent.DatabaseExecutionError); continue; }
elementType
è uno System.Type creato dal tipo specificato nella configurazione (utilizzando Type.GetType()
), e entry.Command
è la query SQL.
Il tipo di entità speciali Io sto avendo un problema con un look come questo:
public class FooCount
{
[Column(Name = "foo_id")]
public Int32 FooId { get; set; }
[Column(Name = "count")]
public Int32 Count { get; set; }
}
La query SQL simile al seguente:
select foo_id as foo_id, sum(count) as [count]
from foo_aggregates
group by foo_id
order by foo_id
Per qualche ragione, quando viene eseguita la query, la proprietà "Count" finisce popolata, ma non la proprietà "FooId". Ho provato a eseguire personalmente la query e sono stati restituiti i nomi delle colonne corretti e i nomi delle colonne corrispondono a quelli specificati nei miei attributi di mapping. Aiuto!
@BFree - modificare una domanda semplicemente per cambiare lo stile di codifica di qualcun altro è semplicemente scortese IMHO. Per favore non farlo. –
Il mio male. Non pensavo che in realtà volessi farlo, pensavo fosse un incidente. – BFree
@Daniel: il codice che spinge le persone a scorrere a destra per leggerlo è un ottimo modo per far sì che ignorino la tua domanda. Bitching alle persone che cercano di aiutare è un modo ancora migliore ..... –