domingo, 10 de abril de 2016

Ensamblado y netFramework

Leyendo un poco de la misma documentación que nos brinda microsoft, comparto lo entendido.


En Microsoft .NET framework, un ensamblado1 es principalmente una biblioteca de código compilado para ser utilizado en instalaciones, versionamiento y seguridad. Existen 2 tipos: Ensamblados de procesos (EXE) y bibliotecas de ensamblados (DLL).
Un ensamblado de proceso representa un ejecutable que posiblemente usará clases definidas en ensamblados de bibliotecas, o ejecutará solo código contenido en si mismo. Los ensamblados de .NET contienen código en lenguaje CIL, el cual es usualmente generado desde los lenguajes .NET y luego compilados en un motor de ejecución CLRCompilación Justo en Ejecución, en inglés just - in time compiler.

Imágenes integradas 2




No se puede catalogar a .NET como un lenguaje de programación interpretado, algunos autores tienden a catalogarlo como un lenguaje compilado ya que el CIL es leído y compilado por el CLR, con las ventajas del just - in time
Un ensamblado puede consistir en uno o más archivos. Los archivos de código son llamados módulos. Un ensamblado puede contener más de un módulo de código y es posible utilizar diferentes lenguajes en los diferentes módulos para crear el ensamblado de .NET. Visual Studio sin embargo no soporta utilizar diferentes lenguajes en un ensamblado, la compilación de ensamblados de múltiples lenguajes es necesaria realizarla desde la consola de comandos.
Por buenas prácticas de desarrollo se acostumbra ubicar una única clase en cada archivo del ensamblado, pero cabe recordar que un módulo; un archivo; puede contener varias clases dentro de él pero no es recomendable.
Los ensamblados pueden tener diferentes decoradores que definen el entorno de ejecución de los mismos COM+, DCOM, Remoting, etc.



Imágenes integradas 3




Imágenes integradas 1



.NET Framework es un entorno de ejecución runtime que administra aplicaciones cuyo destino es .NET Framework.Incorpora Common Language Runtime, que proporciona administración de la memoria y otros servicios del sistema, y una biblioteca de clases completa, que permite a los programadores aprovechar el código sólido y confiable de todas las áreas principales del desarrollo de aplicaciones.




¿Qué es .NET Framework?

.NET Framework es un entorno de ejecución administrado que proporciona diversos servicios a las aplicaciones en ejecución.Consta de dos componentes principales: Common Language Runtime (CLR), que es el motor de ejecución que controla las aplicaciones en ejecución, y la biblioteca de clases de .NET Framework, que proporciona una biblioteca de código probado y reutilizable al que pueden llamar los desarrolladores desde sus propias aplicaciones.Los servicios que ofrece .NET Framework a las aplicaciones en ejecución son los siguientes:
  • Administración de la memoria.En muchos lenguajes de programación, los programadores son responsables de asignar y liberar memoria y de administrar la vida útil de los objetos.En las aplicaciones de .NET Framework, CLR proporciona estos servicios en nombre de la aplicación.
  • Sistema de tipos comunes.En los lenguajes de programación tradicionales, el compilador define los tipos básicos, lo que complica la interoperabilidad entre lenguajes.En .NET Framework, los tipos básicos los define el sistema de tipos de .NET Framework y son comunes a todos los lenguajes que tienen como destino .NET Framework.
  • Biblioteca de clases extensa.En lugar de tener que escribir cantidades extensas de código para controlar operaciones comunes de programación de bajo nivel, los programadores pueden usar una biblioteca de tipos accesible en todo momento y sus miembros desde la biblioteca de clases de .NET Framework.
  • Frameworks y tecnologías de desarrollo. .NET Framework incluye bibliotecas para determinadas áreas de desarrollo de aplicaciones, como ASP.NET para aplicaciones web, ADO.NET para el acceso a los datos y Windows Communication Foundation para las aplicaciones orientadas a servicios.
  • Interoperabilidad de lenguajes.Los compiladores de lenguajes cuya plataforma de destino es .NET Framework emiten un código intermedio denominado Lenguaje intermedio común (CIL), que, a su vez, se compila en tiempo de ejecución a través de Common Language Runtime.Con esta característica, las rutinas escritas en un lenguaje están accesibles a otros lenguajes, y los programadores pueden centrarse en crear aplicaciones en su lenguaje o lenguajes preferidos.
  • Compatibilidad de versiones.Con raras excepciones, las aplicaciones que se desarrollan con una versión determinada de .NET Framework se pueden ejecutar sin modificaciones en una versión posterior.
  • Ejecución en paralelo..NET Framework ayuda a resolver conflictos entre versiones y permite que varias versiones de Common Language Runtime coexistan en el mismo equipo.Esto significa que también pueden coexistir varias versiones de las aplicaciones, y que una aplicación se puede ejecutar en la versión de .NET Framework con la que se compiló.
  • Compatibilidad con múltiples versiones (multi-targeting).Al usar la Biblioteca de clases portable de .NET Framework, los desarrolladores pueden crear ensamblados que funcionen en varias plataformas, como Windows 7, Windows 8, Windows 8.1, Windows Phone y Xbox 360.










Linq to SQL

Clases de LINQ to SQL (Object Relational Designer)

Object Relational Designer proporciona una superficie de diseño visual para crear y editar las clases de LINQ to SQL (clases de entidad) basadas en los objetos de una base de datos. Mediante LINQ a SQL [LINQ to SQL], se puede obtener acceso a las bases de datos de SQL con tecnología LINQ. Para obtener más información, vea LINQ (Language-Integrated Query).
En este tutorial se proporcionan los pasos necesarios para crear las clases de entidad de LINQ to SQL asignadas a las tablas Customers y Orders en la base de datos Northwind, y para mostrar los datos en un formulario Windows Forms. Además de los pasos para mostrar los datos de la tabla, también se proporcionan los pasos necesarios para enlazar los datos a una consulta LINQ. Por último, se proporcionan los pasos que indican cómo usar los procedimientos almacenados para invalidar la lógica predeterminada de LINQ to SQL para el envío de las actualizaciones de las clases de entidad a la base de datos.


Imágenes integradas 1

Para agregar un archivo .dbml a un proyecto

  1. En el menú Proyecto, haga clic en Agregar nuevo elemento.
  2. Haga clic en la plantilla Clases de LINQ to SQL y escriba Northwind.dbml en el cuadro Nombre.
  3. Haga clic en Agregar.
    Se agrega al proyecto un archivo de clases de LINQ to SQL vacío (Northwind.dbml) y se abre el Object Relational Designer.
Después de agregar el nuevo archivo de LINQ to SQL al proyecto, se abre la superficie de diseño vacía, mostrando dos paneles independientes. El panel izquierdo es el panel de entidades, donde se muestran y se configuran las clases de entidad. El panel derecho es el panel de métodos que muestra los métodos de DataContext agregados al diseñador. Si el panel de métodos no está visible, haga clic con el botón secundario del mouse en un área vacía del panel de entidades y, a continuación, haga clic en Mostrar panel Métodos. Toda la superficie vacía representa una claseDataContext lista para su configuración. El nombre de DataContext corresponde al nombre asignado al archivo .dbml. En este tutorial, el nombre de DataContext es NorthwindDataContext puesto que el archivo de LINQ to SQL se ha denominado Northwind.dbml. Para comprobarlo, haga clic en cualquier área vacía del diseñador y examine la ventana Propiedades.

Imágenes integradas 1
Nota Nota
La clase DataContext contiene métodos y propiedades para realizar una conexión a una base de datos y manipular los datos de dicha base de datos (por ejemplo, realizando inserciones, actualizaciones y eliminaciones). Para obtener más información, vea Métodos DataContext (Object Relational Designer).

Imágenes integradas 2

Nota Nota
La clase DataContext contiene métodos y propiedades para realizar una conexión a una base de datos y manipular los datos de dicha base de datos (por ejemplo, realizando inserciones, actualizaciones y eliminaciones). Para obtener más información, vea Métodos DataContext (Object Relational Designer).

Imágenes integradas 3




Comparto ese link que encontre en youtube que da un ejemplo de lo que se puede llegar a realizar con linq
h

Saludos.

Para quizá un mejor entendimiento adjunto resumen