Entity FrameWork 4: Obteniendo, insertando y actualizando registros

El Entity FrameWrok (EF) es una buena manera de trabajar con los datos y centrarnos en la logica del negocio mas que en el tratamiento de los datos pero apesar de usar sitios web de datos dinamicos (SWDD) siempre se requiere manejar de forma personalizada las operaciones hacia nuestras tablas es aqui donde se usarian estas opciones:

Antes que nada siempre se define un manejador del contexto de datos que es la linea erpbuildandcarEntities dc = new erpbuildandcarEntities(); es este el que hace los manejos hacia la base de datos.

Traer registros de la base de datos

erpbuildandcarEntities dc = new erpbuildandcarEntities();
var contrat = from a in dc.v_contratos select a;

Esto va hacer que en la variable “contrat” se le asigne un objeto IQueryable<v_contratos>, como se ve esto es LINQ to SQL y se podria hacer algunos filtros basados en Where y demas  opciones de Linq to Sql pero si se quisiera hacer algo diferente como aplicarles filtros a estos datos  puedes hacer algo mo esto:

 contrat= contrat.Where(a => a.Fecha_de_Emision >= desde);
 contrat= contrat.Where(a => a.Fecha_de_Emision <= hasta);

esto le aplica filtros a los valores que estan en el objeto.

Insertar un registro

Primero creamos una instancia de la clase (en este caso una insta de contratos), luego se le asignan los valores que le corresponden, una vez termiando con ello se le asigna al contexto de la base de datos y por ultimo se graban los cambios.

erpbuildandcarEntities erpe = new erpbuildandcarEntities();
rentacard.contratos cont = new rentacard.contratos(); //creando una instancia de la clase contratos
cont.anulado = false; //asignado valores
cont.combustible = Convert.ToDecimal(txtcombustible.Text);
cont.ejecutado = false;
cont.fecha = DateTime.Parse(txtfecha.Text);
.
.
.
.
erpe.AddTocontratos(cont); //adicionando el objeto a al contexto de datos
erpe.SaveChanges();  //grabamos los cambios

Actualizando registros

Veamos este ejemplo, lo que se quiere es actualizar el numero de documento con el siguiente al usado actualmente, asi si el numero actual es “000001″ se debe de grabar en labla el “000002″ pues veamos como es esto:

erpbuildandcarEntities erpe = new erpbuildandcarEntities();
int h = Convert.ToInt16(cbotipdoc.SelectedValue);
rentacard.series  order = (from o in erpe.series where o.idtipdoc == h select o).First();
order.numact= (Convert.ToInt16(txtnumdoc.Text) + 1).ToString().PadLeft(10, ’0′);
erpe.SaveChanges();

Visual Studio 11 Team Foundation Server Express

Visual Studio 11 Team Foundation Server Express

Pues lo que estabamos esperando desde hace mucho tiempo, Microsoft ha liberado las betas de la nueva version de Visual Studio en su version 11 y esta incluye Visual Studio 11 Team Foundation Server Express.

Recien lo estoy bajando y quiero ver su integracion con Visual Studio 2010, asi que cuando lo prube de seguro voy a postear mis apreciaciones.

la descarga http://www.microsoft.com/visualstudio/11/es-es/downloads#tfs-express

 

 

 

Evento Microsoft en Arequipa: Seguridad y Virtualozacion.

Descripcion del Evento:

AGENDA:

  • 06:30 – 07:00: Registro
  • 07:00 – 07:30: Recursos Microsoft
  • 07:30 – 08:30: Seguridad en aplicaciones Web, el rol del Hacker Ético
  • 08:30 – 09:30: Virtualización con Hyper-V

UBICACIÓN:

Por confirmar, enviaremos un correo a todos los registrados con la ubicación del evento

Fecha del evento:
Miércoles, Marzo 21, 2012 – 19:00 to 21:30
Ubicacion del Evento:
Por confirmar, enviaremos un correo a todos los registrados con la ubicación del evento
Ciudad del Evento:
Arequipa
Provincia del Evento:
Arequipa

Entity FrameWork: Por que devuelve registros repetidos una vista

Pues bien ahora que ya estoy terminado mi primer sistema hecho enteramente en MVC y con el Entity Framework (EF) me tocaba hacer los reportes para finalizar la aplicacion y como es costumbre mia siempre creo vistas en la base de datos y luego consumirlas en la aplicacion pero me di cuenta de que cuando hago esto:

        public IQueryable<v_movscajachica> getmovimientos()
        {
            var datacontext = new erpbuildandcarEntities();
            var datos = from p in datacontext.v_movscajachica select p;
            return datos;
        }

para jalar los datos en el EF hacia una variable y asi poder definir el reporte desde los objetos siempre me devolvia registros repetidos y el problema no era el EF sino la deficion de la vista, es que EF necesita siempre tener el primer campo como campo unico y yo no incluia los PK’s en mis vistas, la solcion es mas que evidente, modificar las vistas e inluirles los primary keys y con eso ya basto para que todo funcione.

12 horas de video Sobre Visual Studio

Ya salieron las versiones de video ondemnad sobre las presentaciones de visualstudio que se realizaron en enero y bueno quie el link http://globbtv.com/12/microsite/2012/

Seguir

Get every new post delivered to your Inbox.

Únete a otros 105 seguidores