Inizierò a lavorare su xamarin a breve e trasferirò molto codice dal java di android studio a C#.In che modo linq esegue effettivamente il codice per recuperare i dati dall'origine dati?
in Java Sto usando un classi personalizzate che sono dati argomenti condizioni ecc, convertirli in istruzioni SQL e quindi carica i risultati agli oggetti nel modello del progetto
Quello di cui sono sicuro di è LINQ castrato è un migliore opzione per filtrare tali dati.
Per esempio cosa sarebbe successo al momento è somethng lungo queste linee
List<Customer> customers = (new CustomerDAO()).get_all()
O se ho una condizione di
List<Customer> customers = (new CustomerDAO()).get(new Condition(CustomerDAO.Code, equals, "code1")
Ora supponiamo Ho trasferito le classi di C# e desidero fare qualcosa simile al secondo caso.
Così ho probabilmente scrivere qualcosa sulla falsariga di:
var customers = from customer
in (new CustomerDAO()).get_all()
where customer.code.equals("code1")
select customer
So che la query viene eseguita solo quando in realtà cerco di clienti di accesso, ma se devo accessi multipli ai clienti (Proviamo Dite che in seguito userò 4 foreach loop in seguito) il metodo get_all sarà chiamato 4 volte? o i risultati sono memorizzati alla prima esecuzione?
Inoltre è più efficiente (in termini di tempo perché la memoria probabilmente non lo è) solo per mantenere il metodo get_all() e usare linq per filtrare i risultati? O utilizzare la mia configurazione esistente che esegue in effetti
Select * from Customers where code = 'code1'
E carica i risultati su un oggetto?
Grazie in anticipo per qualsiasi aiuto che potete fornire
Edit: sì io so che c'è sqlite.net che fa più o meno quello che i miei Tao fanno, ma probabilmente meglio, e ad un certo punto ho probabilmente convertire tutto il mio oggetti da utilizzare, ho solo bisogno di sapere per il bene di conoscere
A quale LINQ ti riferisci? LINQ agli oggetti? LINQ a EF? LINQ a SQL? –
Sì, il dao crea l'elenco –
Cruces