Articles of linq

Entity Framework AsNoTracking interrompe la chiamata a Distinct

Sto provando a caricare un elenco di colors distinti dall’elenco di prodotti precedentemente caricato in una pagina. Quindi per tirare dentro i prodotti lo faccio: var products = Products .Include(p => p.ProductColor) .ToList(); Poi faccio un po ‘di elaborazione sui prodotti che voglio ottenere un elenco di tutti i colors distinti usati dai prodotti, quindi […]

Utilizzo di LINQ per estrarre int da un elenco di stringhe

Ho una List e alcune di queste stringhe sono numeri. Voglio estrarre questo sottoinsieme in una List . L’ho fatto in modo abbastanza verboso – come di seguito – ma ho la sensazione che ci debba essere un modo LINQ più ordinato per strutturarlo. Qualche idea? List myStrs = someListFromSomewhere; List myInts = new List(); […]

Come staccare un object dati LINQ-to-SQL dal meccanismo di tracciamento di DataContext?

Dopo aver posto questa domanda , dove sono stato informato su come funziona il metodo Table.Attach() , ho un’altra domanda. Come si separa un object dati LINQ-to-SQL dal meccanismo di tracciamento dello stato di DataContext ? Fondamentalmente, voglio tirare un record e modificare i dati sul record. Ma quando chiamo SubmitChanges() sulla stessa istanza di […]

Dynamic MemberExpression

Sto volendo creare un membroExpression conoscendo solo il nome del campo; per esempio: public static Expression<Func> GenerateMemberExpression(string fieldName) { PropertyInfo fieldPropertyInfo; fieldPropertyInfo = typeof(TModel).GetProperty(fieldName); var entityParam = Expression.Parameter(typeof(TModel), “e”); // {e} var columnExpr = Expression.MakeMemberAccess(entityParam, fieldPropertyInfo); // {e.fieldName} var lambda = Expression.Lambda(columnExpr, entityParam) as Expression<Func>; // {e => e.column} return lambda; } Il problema con […]

Estensione LINQ SelectMany in 3.5 vs 4.0?

Quando ho visto il suggerimento di Darin qui .. IEnumerable processes = new[] { “process1”, “process2” } .SelectMany(Process.GetProcessesByName); ( process.getprocessesbyname () ) .. Ero un po ‘incuriosito e l’ho provato in VS2008 con .NET 3.5 – e non è stato compilato a meno che non l’avessi modificato .. IEnumerable res = new string[] { “notepad”, […]

Chiamare altri nerd del codice – Alternative ai cicli annidati?

Non è raro per me (o probabilmente chiunque altro) avere una lista di oggetti che ho bisogno di scorrere e quindi interagire con un elenco di proprietà. Io uso un ciclo annidato, come questo: IList listOfObjects; IList listOfProperties; foreach (T dataObject in listOfObjects) { foreach (TProperty property in listOfProperties) { //do something clever and extremely […]

LINQ WHERE clausola che usa se le istruzioni

Sto usando c # .net Ho due caselle di testo che se! Empty deve essere parte di una clausola WHERE all’interno di una query LINQ. Ecco il mio codice var result = from a in xxxx select a; if(!string.IsNullOrEmpty(personName)) { return result.Where(a >= a.forename.Contains(personName) || a.surname.Contains(personName) } else if(!string.IsNullOrEmpty(dateFrom)) { return result.Where(a >= a.appStartDateTime >= […]

Qual è il modo più veloce di cancellare i file in una directory? (Tranne estensione di file specifica)

Ho visto domande come Qual è il modo migliore per svuotare una directory? Ma ho bisogno di sapere, qual è il modo più veloce per cancellare tutti i file trovati all’interno della directory, ad eccezione di qualsiasi file .zip trovato. Puzza di linq qui … o cosa? Dicendo il modo più veloce, intendo il tempo […]

Differenza tra due liste preservando i duplicati

Ho due liste: var list1 = new List { “A”, “A”, “B”, C” }; var list2 = new List { “A”, “B” }; e mi piacerebbe produrre una lista come var result = new[] { “A”, “C” }; Laddove l’elenco è tutti gli elementi di list1 rimossi da list2 , non penso che ci sia […]

Dizionario “Raggruppamento” per valore

Ho un dizionario: Dictionary . Voglio ottenere un nuovo dizionario in cui le chiavi del dizionario originale rappresentano List . Questo è ciò che intendo: var prices = new Dictionary(); I prices contengono i seguenti dati: 1 100 2 200 3 100 4 300 Voglio ottenere il IList<Dictionary<int,List>> : int List 100 1,3 200 2 […]