2011-08-23 34 views
0

我正在使用EF進行開發,並且在這裏有足夠的新功能。 當我必須對上下文執行不同的操作時,我對如何使用EntityFramework上下文感到困惑。你能給我很好的教程並看着我的代碼查找可能存在的問題DataContext的許多操作

現在我有一個代碼

//domain.dll 

class OrderDomainService 
{ 
    public void DoWork() 
    { 
    foreach(var order in GetOrders()) 
    { 
     DeleteOrder(order); 
    } 

    } 
    public List<Order> GetOrders() 
    { 
     IOrderRepository orderRep = new OrderRepository(); 
     return orderRep.GetAll(); 
    } 

public void DeleteOrder(Order order) 
    { 
     IOrderRepository orderRep = new OrderRepository(); 
     return orderRep.Delete(order); 
    } 
} 

//repository.dll 

public interface IOrderRepository 
{ 
    List<Order> GetAll(); 

    void Delete(Order order); 

    void SaveContext() 
} 

public class OrderRepository 
{ 
public OrderRepository() 
{ 
    if (ctx == null) 
    ctx = new EntityFrameworkDataContext(); 
} 

    static EntityFrameworkDataContext ctx { get; set; } 

    public List<Order> GetAll() 
    { 
     return ctx.Orders; 
    } 

    public void Delete(Order order) 
    { 
     ctx.Orders.Delete(order); 
    } 

    public void SaveContext() 
    { 
    ctx.SaveChanges(); 
    ctx = null; 
    } 
} 

回答