ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Utilizando LINQ Mapping Con WCF En Visual Studio 2010 (ASP.NET C#) Parte 2


Enviado por   •  15 de Noviembre de 2013  •  1.130 Palabras (5 Páginas)  •  514 Visitas

Página 1 de 5

Utilizando LINQ Mapping con WCF en Visual Studio 2010 (ASP.NET C#) Parte 2

Requerimientos:

• Visual Studio 2010

• SQL Server 2008 o SQL Server 2008 R2

Continuando con el artículo técnico anterior http://mredison.files.wordpress.com/2010/08/utilizando-linq-con-wcf.pdf

Paso 1:

Dentro del proyecto de tipo WCF, agregue los siguientes métodos a la interfaz.

using System;

using System.Collections.Generic;

using System.Linq;

using System.ServiceModel;

namespace WCFLinq

{

[ServiceContract]

public interface IMetodos

{

[OperationContract]

List<Cliente> ObtenerClientes();

[OperationContract]

List<Cliente> ObtenerClientesPorLocalizacion(string localizacion);

[OperationContract]

void AgregarCliente(string nombre, string localizacion);

[OperationContract]

void ActualizarCliente(int id, string nombre, string localizacion);

[OperationContract]

void EliminarCliente(int id);

}

}

Paso 2:

Implemente los métodos agregados dentro de la clase:

Primer método AgregarCliente(string nombre, string localizacion)

public void AgregarCliente(string nombre, string localizacion)

{

Cliente nuevoCliente

= new Cliente { Nombre = nombre, Localizacion = localizacion };

bd.Clientes.InsertOnSubmit(nuevoCliente);

bd.SubmitChanges();

}

Debe crear una nueva instancia de la clase Cliente, agregando los valores. Después llamar al método InsertOnSubmit(entity class) para agregar el registro al contexto de datos (DataContext) y por último al método SubmitChanges() para actualizarlo sobre la base de datos.

Segundo método ActualizarCliente(int id, string nombre, string localizacion)

public void ActualizarCliente(int id, string nombre, string localizacion)

{

Cliente cliente = bd.Clientes.Single(c => c.ID == id);

cliente.Nombre = nombre; cliente.Localizacion = localizacion; bd.SubmitChanges();

}

Debe crear una condición de LINQ consultando al contexto de datos y con el método Single (expresión) en el cual solo retornará de la colección de datos el elemento que cumpla con la condición asignada anteriormente, en este caso se utiliza una expresión lambda.

Si desea profundizar en el tema de las expresiones lambda puede ver la referencia siguiente:

http://msdn.microsoft.com/es-es/library/bb397687.aspx

Una vez teniendo el elemento que cumple con la condición puede asignarlo a un objeto de tipo Cliente, y actualizar sus propiedades. Por último se realizará una actualización en la base de datos.

Tercer método EliminarCliente( int id)

public void EliminarCliente(int id)

{

Cliente cliente = bd.Clientes.Single(c => c.ID == id); bd.Clientes.DeleteOnSubmit(cliente); bd.SubmitChanges();

}

De la misma forma que el método anterior se buscará un elemento que cumpla con la condición, se realizará la eliminación por medio del método DeleteOnSubmit(entity class) y se actualizará sobre la base de datos con el método SubmitChanges().

El código completo de la clase que implementa la interfaz es el siguiente:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Runtime.Serialization;

using System.ServiceModel;

using System.ServiceModel.Web;

namespace WCFLinq

{

public class Servicio : IMetodos

{

Empresa bd = new Empresa();

public List<Cliente> ObtenerClientes()

{

var consulta = from cl in bd.Clientes select cl;

return consulta.ToList();

}

public List<Cliente> ObtenerClientesPorLocalizacion(string localizacion)

{

var consulta = from cl in bd.Clientes

where cl.Localizacion.Contains(localizacion)

select cl;

return consulta.ToList();

}

public void AgregarCliente(string nombre, string localizacion)

{

Cliente

...

Descargar como (para miembros actualizados)  txt (12.9 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com