Articles of linq

Lista de devolución usando seleccionar nuevo en LINQ

Este es mi método que me da error. public List GetProjectForCombo() { using (MyDataContext db = new MyDataContext (DBHelper.GetConnectionString())) { var query = from pro in db.Projects select new { pro.ProjectName, pro.ProjectId }; return query.ToList(); } } Si lo cambio con esto: public List GetProjectForCombo() { using (MyDataContext db = new MyDataContext (DBHelper.GetConnectionString())) { var […]

¿Puede LINQ utilizar la búsqueda binaria cuando se ordena la colección?

¿Puedo de alguna manera “instruir” a LINQ para que use la búsqueda binaria cuando se ordena la colección que estoy intentando buscar? Estoy usando un ObservableCollection , poblado con datos ordenados, y estoy tratando de usar Enumerable.First () . En mi predicado, estoy filtrando por el valor del campo ordenado por mi colección.

¿Cómo convierto múltiples combinaciones internas en SQL a LINQ?

Tengo lo básico de LINQ-to-SQL, pero he estado luchando para que JOIN funcione correctamente. Me gustaría saber cómo convertir lo siguiente a LINQ-to-SQL (lo ideal sería usar el método de encadenamiento, ya que ese es mi formato preferido). SELECT c.CompanyId, c.CompanyName, p.FirstName + ‘ ‘ + p.LastName as AccountCoordinator, p2.FirstName + ‘ ‘ + p2.LastName […]

Asigne dos listas a un diccionario en C #

Dado dos IEnumerable s del mismo tamaño, ¿cómo puedo convertirlo a un Dictionary usando Linq? IEnumerable keys = new List() { “A”, “B”, “C” }; IEnumerable values = new List() { “Val A”, “Val B”, “Val C” }; var dictionary = /* Linq ? */; Y el resultado esperado es: A: Val A B: Val […]

Construir LambdaExpression para propiedad anidada de una cadena

Estoy intentando crear una expresión lambda para una propiedad anidada en tiempo de ejecución a partir del nombre de propert. Básicamente, estoy tratando de crear la expresión lambda especificada por: var expression = CreateExpression(foo => foo.myBar.name); private static Expression CreateExpression(Expression<Func> expression) { return (expression as Expression); } Con las clases: class Foo { public Bar […]

Clasificación dinámica Linq fuertemente tipada

Estoy intentando construir un código para ordenar dinámicamente un Linq IQueryable . La forma obvia es aquí, que ordena una lista usando una cadena para el nombre del campo http://dvanderboom.wordpress.com/2008/12/19/dynamically-composing-linq-orderby-clauses/ Sin embargo, quiero un cambio: compruebe el tiempo de verificación de los nombres de los campos y la posibilidad de utilizar refactorización / Buscar todas […]

¿Cómo creo dinámicamente un predicado Expression <Func >?

¿Cómo utilizaría un Árbol de expresiones para crear dinámicamente un predicado que se asemeje a … (p.Length== 5) && (p.SomeOtherProperty == “hello”) Para que pueda pegar el predicado en una expresión lambda así … q.Where(myDynamicExpression)… Solo necesito que me apunten en la dirección correcta. Actualización: Lo siento amigos, omití el hecho de que quiero que […]

Cómo encontrar Lista tiene valores duplicados en Lista

¿Cómo encontrar si la List tiene valores duplicados o no? Intenté con el código a continuación. ¿Hay alguna forma de lograrlo? var lstNames = new List { “A”, “B”, “A” }; if (lstNames.Distinct().Count() != lstNames.Count()) { Console.WriteLine(“List contains duplicate values.”); }

Find () frente a Where (). FirstOrDefault ()

A menudo veo a personas que usan Where.FirstOrDefault() hacer una búsqueda y tomar el primer elemento. ¿Por qué no usar Find() ? ¿Hay alguna ventaja para el otro? No podría notar la diferencia. namespace LinqFindVsWhere { class Program { static void Main(string[] args) { List list = new List(); list.AddRange(new string[] { “item1”, “item2”, “item3”, […]

No se puede convertir la expresión lambda para escribir ‘cadena’ porque no es un tipo de delegado

Estoy usando una expresión lambda LINQ así: int Value = 1; qryContent objContentLine; using (Entities db = new Entities()) { objContentLine = (from q in db.qryContents where q.LineID == Value orderby q.RowID descending select q).FirstOrDefault(); } Sin embargo, recibo el siguiente error: No se puede convertir la expresión lambda para escribir ‘cadena’ porque no es […]