2010-10-08 10 views
3

Nous avons une application métier assez simple implémentée avec ASP.NET MVC2 et nous avons une nouvelle exigence pour pouvoir partager nos données avec d'autres parties de l'entreprise, dont SharePoint 2010 , Ruby et Python. Je voudrais utiliser OData comme mécanisme de transport (par opposition à SOAP) en utilisant notre application MVC existante. J'ai du mal à trouver quelqu'un qui mentionne une implémentation d'un fournisseur OData pour MVC. Pouvez-vous suggérer comment je pourrais commencer à lancer mon propre fournisseur OData ASP.NET MVC ou me diriger vers un endroit qui aurait déjà commencé quelque chose de similaire?Implémentation OData pour ASP.NET MVC

Répondre

0

OData avec MVC est extrêmement facile à Getup et aller avec MVC API Web.

par exemple. Votre contrôleur OData ressemblerait à ceci:

public class ProductController : EntitySetController<Product, int> 
{ 
    private readonly IUnitOfWork _unitOfWork; 

    public ProductController(IUnitOfWork unitOfWork) 
    { 
     _unitOfWork = unitOfWork; 
    } 

    public override IQueryable<Product> Get() 
    { 
     return _unitOfWork.Repository<Product>().Query().Get(); 
    } 

    protected override Product GetEntityByKey(int key) 
    { 
     return _unitOfWork.Repository<Product>().FindById(key); 
    } 

    protected override Product UpdateEntity(int key, Product update) 
    { 
     update.State = ObjectState.Modified; 
     _unitOfWork.Repository<Product>().Update(update); 
     _unitOfWork.Save(); 
     return update; 
    } 

    public override void Delete([FromODataUri] int key) 
    { 
     _unitOfWork.Repository<Product>().Delete(key); 
     _unitOfWork.Save(); 
    } 

    protected override void Dispose(bool disposing) 
    { 
     _unitOfWork.Dispose(); 
     base.Dispose(disposing); 
    } 
} 

Un rendez-vous à travers détaillé peut être vu ici: http://blog.longle.net/2013/06/18/mvc-4-web-api-odata-entity-framework-kendo-ui-grid-datasource-with-mvvm/