Translate

viernes, 13 de junio de 2014

Metodos Almacenados Aislados en Windows Phone 8.1

Para crear un contexto de datos (DataContext) para poder tener acceso a la base de datos local en Windows Phone 8.1 conocido también como Windows Phone 'Blue', aquí es necesario aclarar, que no podemos utilizar ADO.NET de manera directa para este acceso a la base de datos local en el dispositivo.

Por la razón anterior debemos crear un contexto de datos de la base de datos a utilizar en nuestro desarrollo para Windows Phone 8.1, este DataContext, no es mas que una clase en uno de los lenguajes de la plataforma .NET (VB.NET o C#), en la cual se encuentran métodos que permiten las operaciones CRUD, clases de tipo entidad que representan un registro de cada una de las tablas, clases de tipo colección que representan la tabla o un conjunto de registros de la tabla.

Como se pueden dar cuenta el manejo de las operaciones de la base de datos locales en Windows Phone 8.1 se realiza a través de LinQ y un DataContext, este DataContext es el que vamos a aprender a construir. Algo que debemos tener claro es que nuestra base de datos local de SQL Server Mobile se almacena en el almacenamiento privado del dispositivo, esto es lo que conocemos como “Isolated Storage”.



En la imagen anterior podemos observar como se almacena nuestra base de datos en el Isolated Storage y que a través de LINQ to SQL nos comunicamos con ella utilizando el DataContext desde nuestra aplicación de Windows Phone 8.1

La clase DataContext

Esta es una clase que contiene de todas las operaciones CRUD (Create, Read, Update, Delete) basada en la base de datos para realizar operaciones sobre la Base de Datos. En la cual utilizando LINQ to SQL accedemos a todas las operaciones que necesitemos realizar sobre la base de datos.

Muy bien, ya teniendo claro todo lo anterior, lo primero que debemos hacer es definir el modelo de datos en nuestra base de datos SQL Mobile, para esto vamos a utilizar SQL Server Management Studio para crear la base de datos y la estructura de las tablas de nuestra base de datos.
Si se preguntan si podemos utilizar Entity Framework 4.5 para realizar esta operación, la respuesta es SI, lo importante es definir el modelo de nuestro repositorio de datos y generar el archivo .SDF de la base de datos SQL Server Mobile.

En la siguiente publicacion se vera como es la creacion de Clases, Mapeo, y Conexion de la misma. Gracias!.


domingo, 8 de junio de 2014

Como se hacen las Consultas en LINQ, de Windows Phone 8?


Insertar Datos LINQ


//Crea un nuevo elemento to-do
ToDoItem newToDo = new ToDoItem {ItemName = "nuevo"};

//Añade el elemento to-do a la coleccion.
ToDoItem.Add(newToDo);

//Añade el elemento to-do a la base de datos local
toDoBD.ToDoItems.InsertOnSumit(newToDo);

//Guarda los cambios en la base de datos
db.SubmitChanges();
//Hasta que no se hace la llamada a SubmitChanges, no se guardan las cosas en la BD!!

Seleccionar datos

//Define la consulta para obtener todos los elementos ToDo
var toDoItemsInBD = from ToDoItem todo in toDoBD.ToDoItems
select todo;

//Ejecuta la consulta y añade el resultado a la coleccion
ToDoItems = new ObservableCollection(toDoItemsInDB);

XAML

//ItemSource, nos muestra la lista
//DisplayMemberPath = Los nombres de los elementos a mostrar sin el ID!

sábado, 7 de junio de 2014

Que es LINQ?

Language Integrated Query (LINQ, pronunciado “link”) es un componente de la plataforma Microsoft .NET que agrega capacidades de consulta a datos de manera nativa a los lenguajes .NET, si bien existen implementaciones para Java, PHP, JavaScript y ActionScript.

LINQ extiende el lenguaje a través de las llamadas expresiones de consulta, que son parecidas a las sentencias SQL y pueden ser usadas para extraer y procesar convenientemente datos de arrays, clases enumerables, documentos XML, bases de datos relacionales y fuentes de terceros. 

-->

LINQ To SQL Soporte API

Las siguientes tablas muestran el LINQ to SQL APIs que están parcialmente compatibles y no compatibles de Windows Phone en comparación con otras plataformas. Parcial apoyado significa que el API se modificó para trabajar con Windows Phone. Para detalles completos acerca de LINQ to SQL API para Windows Phone, consulte la referencia de biblioteca de clases para los siguientes espacios de nombres.

·       System.Data.Linq
·       System.Data.Linq.Mapping

En la API de los (SQO) operadores de consulta estándar también se definen algunos operadores para convertir una colección a otro tipo:

  • AsEnumerable: convierte una colección en un IEnumerable .
  • AsQueryable: convierte una colección en un IQueryable .
  • ToArray: convierte una colección en un array .
  • ToList: convierte una colección en un IList .
  • ToDictionary: convierte una colección en un IDictionary , indexado por la llave K.
  • ToLookup: convierte una colección en un ILookup , indexado por la llave K.
  • Cast: convierte una colección no genérica en un IEnumerable , convirtiendo cada elemento al tipo T . Lanza una excepción para los tipos incompatibles.
  • OfType: convierte la colección no genérica en un IEnumerable . Sólo los elementos de tipo T están incluidos.

LINQ to DataSet

El proveedor de LINQ to SQL sólo funciona con bases de datos de Microsoft SQL Server. Para soportar cualquier base de datos genérica, LINQ también incluye LINQ to DataSet, que utiliza ADO.NET para manejar la comunicación con las base de datos. Una vez que los datos están en DataSets de ADO.NET, LINQ to DataSet ejecuta las consultas sobre estos datasets.