CRUD - Entitty Framework

by Admin 3. August 2009 14:44

Create Read Update Delete...

Criação

Para criar o registro é bem simples basta utilizar apenas duas chamadas ObjectContext: adição e salvamento dos dados.


using (NorthwindEntities db = new NorthwindEntities())
{
Products products = new Products();
products.ProductName = “Teste”;
products.QuantityPerUnit = “10″;
products.UnitsInStock = 10;
db.AddToProducts(products);
db.SaveChanges();
}

Consulta

A coleção de objetos persistidos pode ser obtida acessando o ObjectContext. Para cada tabela mapeada, existe uma coleção de objetos no ObjectContext correspondente, que pode ser utilizada para realizar consultas. Na implementação destas coleções, os dados não estão disponíveis em memória. Eles só são recuperados do banco quando requisitados, conforme critérios de seleção e junção.

A recuperação de dados pode ser realizada utilizando LINQ. No entanto, diferentemente do LINQ-To-SQL, somente são recuperados dados explicitamente requisitados, isto é, entidades associadas não são recuperadas automaticamente por lazy load (será abordado mais adiante). Assim, para recuperar o produto de ID 2, basta executar:

Products products = db.Products.First(p => p.ProductID == 2);

(Apesar da função “Single” ser mais apropriada, ela não é suportada pelo Entity Framework, cuja utilização dispara uma exceção.)

No modelo, região possui relacionamento de 1 para N com territórios, podendo navegar pela propriedade Territories. No entanto, a coleção vem inicialmente vazia, sendo necessária, para recuperar as associações, executar o lazy load da coleção, ou definir a carga por eager load.

Atualização

Para atualizar um item, basta modificar a propriedade da entidade recuperada pelo ObjectContext e chamar o método SaveChanges. Se o objeto a ser atualizado não foi fornecido pelo ObjectContext, como poderia acontecer numa recepção de dados via WCF, é necessário antes recuperar o objeto e repassar as alterações:

using (NorthwindEntities db = new NorthwindEntities())
{
Products products = new Products();
products.ProductName = “Teste Alteracao” ;
products.QuantityPerUnit = 10 ;
products.ProductID = 79;
Products original = db.Products.First(p => p.ProductID == products.ProductID);db.ApplyPropertyChanges(“Products”, products);
db.SaveChanges();
}

Remoção

A remoção é uma operação bastante simples. Ela se resume a uma chamada do método DeleteObject:

db.DeleteObject(db.Products.First(p => p.ProductID == 79));
db.SaveChanges();

Simples e pratico agora é só estudar um pouquinho que dá para ir longe ;)

Fonte: Diario da Fonte - Leonardo Moreno

Tags: , ,

ASP.NET | Dev Blog

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading


Sobre Mim

Felipe Augusto Silva Lambert - Analista de Sistemas, experiência em 4 anos desenvolvimento ASP.NET, utilizando tecnologias ServerSide (Design Patterns, Linq, WCF, SQL Server, C# e VB.NET) e ClientSide (JavaScript e Jquery). técnico em Mecatrônica e bacharel em Ciência da Computação.

Widget Month List not found.

Unknown server tag 'blog:MonthList'.X