¿Cuál es la diferencia de IEnumerable e IQueryable utilizando LINQ en C# .Net?

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ต.ค. 2024
  • #linq #entityframework #csharp
    En este video te mostrare cual es la diferencia de la interface IEnumerable y la interface IQueryable al momento de utilizar LINQ.
    Si quieres apoyarme y darme para una cerveza puedes hacerlo por aquí: paypal.me/Hecto...
    Tambien puedes via patreon: / powerhdeleon
    Todos mis podcasts: • Podcast #1 - ¿Cuál es ...
    Curso de MVC .Net: • Curso de MVC .Net C#| ...
    Curso de MVC Api .Net: • Curso de MVC API .Net ...
    Curso de facturación electrónica en c# .Net: • ¿Cómo convertir archiv...
    Todos mis videos sobre facturación electrónica: • ¿Cómo convertir archiv...
    La falta de respeto tanto a mí como a cualquier otra persona y el SPAM son razones de bloqueo en mi canal.
    "Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for "fair use" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use"
    ---------------------------------------------------------------------------------------------------------------
    Sigueme en twitter ⇒ / powerhdeleon
    Sigueme en facebook ⇒ / hdeleon666
    Mi Sitio web ⇒ hdeleon.net

ความคิดเห็น • 56

  • @jesusnaun1981
    @jesusnaun1981 2 ปีที่แล้ว

    CC obtienes algo y recién te das cuenta q lo necesitabas. Me ayudó harto. Gracias Gran H

  • @chicocrazy220691
    @chicocrazy220691 3 ปีที่แล้ว +1

    Vi este video hace años pero no me recordaba, justo ahora lo estoy aplicando.siempre gracias

  • @OscarGarcia-up3ph
    @OscarGarcia-up3ph 5 ปีที่แล้ว +6

    Jajaja este día casualmente mientras programaba me preguntaba bien sus diferencias, gracias

  • @sebastiancruz2434
    @sebastiancruz2434 5 ปีที่แล้ว +8

    Muchísimas gracias, no pudo estar mejor explicado

  • @isnopitag
    @isnopitag ปีที่แล้ว +1

    Me cae de a madres que tus videos traen la pura carnita, la pura pechuguita, la pura costillita, estan buenisimos!

  • @gersncham3356
    @gersncham3356 4 ปีที่แล้ว +3

    buenísimo amigo, ahora comprendo mejor, gracias por compartir tus conocimientos

  • @ironren666
    @ironren666 ปีที่แล้ว

    Excelente video, Justo estaba valiendo mother con unos reportes que tronaban, creo que ahora ya se cómo se le debe de hacer

  • @futbolamateurpetv
    @futbolamateurpetv 2 ปีที่แล้ว

    Muy bien explicado, muchas gracias por compartir estas buenas practicas.

  • @guidopellegrini4167
    @guidopellegrini4167 3 ปีที่แล้ว

    Muchas gracias Hector!!!! saludos desde Argentina!!

  • @andreimiranda6812
    @andreimiranda6812 3 ปีที่แล้ว

    Excelente!!! Muchas gracias! No dejes de publicar por favor, tus vídeos son MUY valiosos

  • @jarnioo7
    @jarnioo7 3 ปีที่แล้ว +1

    Magister magistrorum!!! Grande Héctor muy buen dato

  • @jeisonsalazar71
    @jeisonsalazar71 2 ปีที่แล้ว

    Me voy a corregir codigo ya mismo. Gracias por la aclaracion.

  • @MisterShootCF
    @MisterShootCF 2 ปีที่แล้ว

    Increíble, no sabía esto. Muchísimas gracias, Hector, sos el mejor.
    Un abrazo.

  • @JuanCarlosDiazMontiel07
    @JuanCarlosDiazMontiel07 3 ปีที่แล้ว

    que genial, graacias, ojalá no se me vaya olvidar cuando esté en el curso de sistema de venta real.

  • @juliancolorado9232
    @juliancolorado9232 ปีที่แล้ว

    Excelente video muy, claro ya me queda mucho mas claro en que caso usar cada tipo de estructura en linq, sos un crack

  • @land4bikers
    @land4bikers 3 ปีที่แล้ว +1

    Gracias por compartir tus conocimientos, quizás sea algo muy sencillo, pero si no lo sabemos nos pasa la factura en el rendimiento de nuestras aplicaciones.
    Saludos desde Costa Rica 🙌🏾

  • @bursten2813
    @bursten2813 3 ปีที่แล้ว +6

    Uno de mis programadores favoritos, gracias crack ! PD: haz un tutorial de microservicios con net 5(que es la continuacion de net core 3.1) aplicando la arquitectura clean arquitec y con Entity Framewore core. Saludos desde Peru Crack

  • @terraxted9280
    @terraxted9280 ปีที่แล้ว

    Jejeje. Eso me pasó una vez por andar quemando código y me cree un store procedure por ese motivo xdd. Ya con esto es mas facil jajaja.
    Gracias bro!!

  • @Fernando-hr7kk
    @Fernando-hr7kk 4 ปีที่แล้ว +1

    Muy bien explicado. Gracias!

  • @manuelrodriguez6988
    @manuelrodriguez6988 3 ปีที่แล้ว +1

    Gracias maestro

  • @librairum2366
    @librairum2366 4 ปีที่แล้ว +1

    Gracias por el video.

  • @facundovega1726
    @facundovega1726 4 ปีที่แล้ว +1

    Muchas gracias por an buena explicacion, sos un genio loco!

  • @juverpp
    @juverpp ปีที่แล้ว

    Muchas gracias, a ver si un día tocas el tema de Dynamic Linq, sería genial!

  • @oscarresendizespinoz
    @oscarresendizespinoz 3 ปีที่แล้ว

    Excelente explicacion .Esa si no me la sabia

  • @carlosmorales-bv8nr
    @carlosmorales-bv8nr 2 ปีที่แล้ว

    Genial Hector, estaria super si hicieras otro video sobre este tema ya que hay poco material en youtube que este en español sobre estas diferencias. Me parece perfecto que lo expliques teniendo en cuenta el tema performance.

  • @leonjah3172
    @leonjah3172 3 ปีที่แล้ว

    joder ayer fuia un entrevista de trabajo y me salió esta preguanta -_-

  • @josereynelchauxperez947
    @josereynelchauxperez947 5 ปีที่แล้ว

    Excelente material, muchas gracias !!!

  • @omarestran7315
    @omarestran7315 ปีที่แล้ว

    Buenos días como estas soy de argentina, mire tu video sobre estas diferencias dado que estoy incursionando en esta nueva técnologia para mi pregunta basándose en este ejemplo como seria usar el Iqueryable para eleminar registro o actualziar registro basado en un patron de bósqueda desde ya gracias por enseñarños.

  • @robertomeiggs3039
    @robertomeiggs3039 4 ปีที่แล้ว +1

    gracias amigo

  • @thelastgamer6698
    @thelastgamer6698 3 ปีที่แล้ว

    Me has salvado de mis dudas

  • @cristiantorresvazquez6700
    @cristiantorresvazquez6700 5 ปีที่แล้ว +1

    Gracias, excelente ..

  • @josegregoriomoyaurpin3949
    @josegregoriomoyaurpin3949 3 ปีที่แล้ว

    Excelente video!!

  • @gabrielsierra828
    @gabrielsierra828 5 ปีที่แล้ว +1

    Gracias 😎

  • @antonioglez
    @antonioglez 3 ปีที่แล้ว

    Supongo que esto también aplica para consultas con diferentes tipos de join que es donde también podría ocuparse muchos recursos?, voy a buscar un video sobre eso o en internet.
    Gracias por compartir estos conocimientos con nosotros.
    Saludos.

  • @julianlopez1610
    @julianlopez1610 3 ปีที่แล้ว +4

    Buen video, gracias, sin embargo aun tengo algunas dudas:
    1- IEnumerable list = dbContext.PRODUCTO.Where(e=>e.Valor > 1000); -> Me traería TODOS los productos desde la BD y luego aplicaría el filtro., esto a pesar de que el WHERE esta sobre la misma linea o sentencia ?
    2- Queryable list1 = dbContext.Estudiantes.Where(e=>e.Nota>80);
    list1.OrderBy(O => O.Nota);
    List listaFInal = list1.Where(c => c.Name.Contains("j")).ToList(); -> Aqui ejecuta el query, tomando todas las clausulas que fui agregando a lo largo de diferentes líneas.
    3- En que momento IQueryable se "implementa" o ejecuta ? Cuando lo casteo a ToList() ?
    4- Por ultimo, que ventajas tiene IEnumerable sobre List ? Porque regresar un IEnumerable en lugar de un List de una vez ?

    • @leoyance4897
      @leoyance4897 3 ปีที่แล้ว +2

      X2 también tengo la duda que pasa si es tipo innumerable y el where en la misma sentencia

    • @lautaromedina47
      @lautaromedina47 2 ปีที่แล้ว

      Si no me equivoco
      1- cuando haces eso con ienumerable envia la consulta a la bd, podes verlo con en la consola que envia la consulta con el where y te trae los datos, no es que te trae todos los datos de la tabla y despues en memoria resuelve el where. CReo que en el video se refiere cuando ya hiciste la consulta al contexto y luego en otra linea le agregas otro where mas.
      Ejemplo:
      var persons = dbContext.Person.Where(f => f.edad > 18);
      Envia la consulta a la bd y te trae los resultados.
      Ahora si despues de eso hace esto
      if(name is not null)
      {
      persons = persons.Where(f => f.name.Contains(name);
      esto si se ejecutaria en memoria ya que lo estas haciendo sobre los resultados.
      }
      Estaria bueno que conteste el del video ya que si hizo un video es por que lo tiene bastante claro como funciona.
      4- Si me equivoco por favor corriganme. Ienumerable sobre List es que IEnumerable te trae los datos a memoria cuando vos necesitas usarlos, en cambio List te los trae a memoria cuando ejecutas la linea que tiene List.

  • @yonaasael3945
    @yonaasael3945 2 ปีที่แล้ว

    La verdad esta perfecto muy bueno el video, para mi gusto prefiero muchas de las veces criteria builder de JPA en java y su equivalente, se me hace chingón como lo maneja entity framework el problema que tengo con este es que tiene muchas implementaciones geniales, sigo prefiriendo aveces criteria builder por que en queries complejos es algo mas secillo tener todo a la manita sin escribir SQL jaja, aun que muchas de las veces es perfecto como se maneja todo por completo, me gusta creo que intentare ver si mi próximo proyecto lo hago en c#

  • @JorgeTirado-rz4ip
    @JorgeTirado-rz4ip ปีที่แล้ว

    Buenas tardes, se puede usar y obtener el mismo rendimiento al usar IQueryable si en vez de usar entity framework se usa la consulta directamente ? saludos

  • @nelsonpenagos7793
    @nelsonpenagos7793 2 ปีที่แล้ว

    Muy buen vídeo, Hector. Tengo una pregunta, Y sí deseo obtener datos de un ultragrid, ¿estaría bien hacer algo como ugGrid.Rows.AsEnumerable().Where(r => (bool)r.Cells["Checked".Value]).ToList();? (Hipoteticamente hablando de un ultragrid con 10, 20 y/o hasta 100 registros)

  • @alfirian
    @alfirian 5 ปีที่แล้ว +3

    Maestro!

  • @gustavoceccomancini9794
    @gustavoceccomancini9794 5 ปีที่แล้ว

    Gracias!!!!!

  • @infotips2475
    @infotips2475 4 ปีที่แล้ว

    Una Pregunta : hay alguna forma de hacer un query y por binding se llenen los textboxes ??? y de ser asi se podra parametrizar la consulta para que solo cambiar la tabla y el campo para usarlo en diferentes tablas ???

  • @ferfs4554
    @ferfs4554 4 ปีที่แล้ว

    Hector una consulta, estoy jalando un campo de una base de datos, concretamente de una vista, donde guarde el path de varias imagenes, cada fila es el path de una imagen, lo que yo quiero obtener es la imagen en Base64, como puedo hacer eso con LINQ?

  • @FaleDev
    @FaleDev 3 ปีที่แล้ว

    Hola Hector! Tengo una duda de como usar lo que en sql seria "like" para filtrar ciertas palabras pero con linq, un saludo y like a tus videos!

    • @hdeleonnet
      @hdeleonnet  3 ปีที่แล้ว +1

      Contain

    • @FaleDev
      @FaleDev 3 ปีที่แล้ว

      @@hdeleonnet Muchas gracias!!! Vi el mensaje justo cuantro lo encontre jaja

  • @EnriqueAlejo
    @EnriqueAlejo 3 ปีที่แล้ว

    igual esa parte de los if yo lo que utilizo son predicatebuilder siento que es mas limpio de trabajar

  • @paulgveliz7791
    @paulgveliz7791 3 ปีที่แล้ว

    Y si en linq hago las condiciones y despues las parseo a to list?

  • @MrElmarqueli
    @MrElmarqueli 4 ปีที่แล้ว

    geniakl pero como conecto com mysql y mi base de datos

    • @hdeleonnet
      @hdeleonnet  4 ปีที่แล้ว +1

      th-cam.com/video/D7UPAWFg2lk/w-d-xo.html

  • @lewisburgos9799
    @lewisburgos9799 3 ปีที่แล้ว

    haaa, yo nunca usaba Iqueryable, siempre era IEnumerable, por eso el sistema era lento en algunos casos :/

  • @jorgeluispereztabrane7089
    @jorgeluispereztabrane7089 7 หลายเดือนก่อน

    El motivo por el cual las páginas va fatal de lentas y nadie sabe porque 😂

  • @lalokura1000
    @lalokura1000 3 ปีที่แล้ว

    GRACIAS!