Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo DataLoadOptions.AssociateWith<T>(Expression<Func<T, Object>>)

 

Data di pubblicazione: ottobre 2016

Filtra gli oggetti recuperati per una determinata relazione.

Spazio dei nomi:   System.Data.Linq
Assembly:  System.Data.Linq (in System.Data.Linq.dll)

public void AssociateWith<T>(
	Expression<Func<T, object>> expression
)

Parametri

expression
Type: System.Linq.Expressions.Expression<Func<T, Object>>

Identifica la query da utilizzare in un determinato campo di uno-a-molti o una proprietà. Tenere presente quanto segue:

Se l'espressione non inizia con un campo o proprietà che rappresenta una relazione uno-a-molti, viene generata un'eccezione.

Se un operatore diverso da un operatore valido visualizzato nell'espressione, viene generata un'eccezione. Gli operatori validi sono i seguenti:

Dove

OrderBy

ThenBy

OrderByDescending

ThenByDescending

Take

Parametri tipo

T

Tipo che viene eseguita la query.

Se il tipo è mappato, viene generata un'eccezione.

Per informazioni su come evitare i cicli, vedere DataLoadOptions.

Nell'esempio seguente, il ciclo interno scorre solo gli Orders che non sono state spedite oggi.

Northwnd db = new Northwnd(@"c:\northwnd.mdf");
DataLoadOptions dlo = new DataLoadOptions();
dlo.AssociateWith<Customer>(c => c.Orders.Where(p => p.ShippedDate != DateTime.Today));
db.LoadOptions = dlo;
var custOrderQuery = 
    from cust in db.Customers
    where cust.City == "London"
    select cust;

foreach (Customer custObj in custOrderQuery)
{
    Console.WriteLine(custObj.CustomerID);
    foreach (Order ord in custObj.Orders)
    {
        Console.WriteLine("\t {0}",ord.OrderDate);
    } 
}

.NET Framework
Disponibile da 3.5
Windows Phone Silverlight
Disponibile da 7.1
Torna all'inizio
Mostra: