Está en la página 1de 3

Modulo 3. LinqToEntities -------------ObjectContext ObjectQuery -> Colecciones consume una structura base.

AdventureWorksEntities entities=new AdventureWorksEntities(); ObjectQuery <StoreContact> contacts=entities.StoreContacts; Un vaciado completo. Interfaz IQueryable IQueryable <StoreContact> query = from c in contacts where c.ContactTypeID = 5 select c; Lista: como un arreglo pero se basa en una estructura List<StoreContact> results = query.ToList(); Contact contact = results[0]; //utiliza Contact ya que es la entidad //base de StoreContact (Herencia) string lastName = contact.LastName; Contact contact = resuts[0]; //EntityCollection -> Almacena colecciones de diferentes entidades EntityCollection <SalesOrderHeader> orders = contact.SalesOrderHeaders; //primer registro de Contact relacionado con SalesOrderHeaders //Ejemplo: fcabe.FacDetalle; //Esto es permitido por el ObjectContext EntitySQL --------Obtiene un objeto tipo Entidad. SELECT VALUE c from AdventureWorksEntities.Contacts as c Order By c.LastName Con parametros. SELECT VALUE r from AdventureWorksEntities.RewardClaimed as r WHERE r.ContactID = @contactID Mas de una entidad SELECT VALUE r from OfType(AdventureWorksEntities.RewardClaimed) //// string queryString = @"SELECT VALUE r from AdventureWorksEntities.RewardClaimed as r WHERE r.ContactID =" @contactID; ObjectQuery <Contact> query = new ObjectQuery <Contact> (queryString.entities); query.parameters.Add("contactID",2019) List <Contact> results = query.ToList();

EntityClient Provider --------------------NameSpace System.Data.EntityClient: EntityConnection -> Conexion EntityCommand -> Ejecuta la Sentencia EntityDataReader EntityParameter EntityTransaction EntityConnection connection=new EntityConection("name=AdventureWorksEntities"); connection.Open(); connection.Close(); Recibiendo datos mediante el uso de procedimientos almacenados -------------------------------------------------------------Contacts Entity FunctionImports sp_GetContacts sp_InsertContact Recomendacion -> LinqToEntities y Procedimientos Almacenados. Pruebas Unitarias de nuestro codigo de acceso a datos ----------------------------------------------------Testea porciones de codigo. Testea metodos. Cuando se realiza una prueba, se crea una copia del metodo a testear. Assert.AreEqual Modulo 4 Creacion, Actualizacion y Eliminacion de Entidades ----------------------------------------------------------Una entidad almacena muchas entidades. Por ejemplo contact contiene entidades cada una de tipo contact. Una entidad donde ID es igual a 2 Cada vez que se ingresa una entidad el ObjectContext le pide autorizacion al ObjectStateManager. En el Object Context tenemos entidades adjuntas-> Entidades que se generan cuando se crea el ObjectContext. Las que se crean en el diseo (independientes) son entidades no adjuntas. ObjectStateManager guarda todos los cambios en las Entidades. ObjectStateManager maneja las entidades adjuntas Cada entidad creada tiene un identificador. Object Context le asigna un identificador para que el ObjectStateManger controle las entidades. Entidades Adjuntas: Administradas por objectcontext Permite realizar seguimiento (Cambios) Son Persistidas (almacenar cambios permanentes) El identificador se almacena en la propiedad EntityKey AppenOnly

OverWrite Pesist No Tracking

También podría gustarte