有哪些工具可用于从域对象自动生成ASP.NET MVC REST服务?

时间:2009-11-03 22:08:26

标签: asp.net-mvc nhibernate rest fluent-nhibernate code-generation

我正在开发一个应用程序,我希望通过REST Web服务在大多数数据库实体上公开基本的CRUD操作。一位同事使用Grails演示了一些令人印象深刻的代码生成。

我希望能够生成我的REST服务,但使用ASP.NET MVC而不是Grails。我计划在ORM上使用Fluent-NHibernate。底层数据库是PostgreSQL。

是否有任何可用的工具可以帮助我从域对象生成ASP.NET MVC中的REST服务?

6 个答案:

答案 0 :(得分:2)

您应该查看T4 templates

答案 1 :(得分:1)

对于S#arp Architecture来说,这听起来像是一个非常好的项目。这是一个很好的框架,用于帮助将CRUD操作与ASP.NET MVC和NHibernate放在一起。它也像Jason建议的那样使用T4,但是他们已经为你做了很好的腿部工作,并将所有东西都包装好。

答案 2 :(得分:1)

你看过Ado.Net Data Services(又名Astoria)吗?它几乎可以满足您的需求。

答案 3 :(得分:1)

查看REST Services for asp.net MVC库。

要获得支持html,JSON和XML“开箱即用”的API,只需使用[WebApiEnabled]装饰您的控制器,如下所示:

using System.Web.Mvc.Resources;

namespace ivu.Controllers
{
    [WebApiEnabled]
    public class LocationsController : Controller
    {
        public ActionResult Index()
        {
            return View(db.ReadLocations().ToList());
        }
    }
}

答案 4 :(得分:0)

您可能还想留意ABSE(http://www.abse.info)。 ABSE是一种代码生成和模型驱动的软件开发方法,在平台和语言方面完全不可知,因此您可以轻松地为ASP.NET MVC创建自己的生成器。

不幸的是,ABSE仍在进行中,参考IDE(AtomWeaver)仍在制作中......但仍值得一看。

答案 5 :(得分:0)

或者在http://www.shouldersofgiants.co.uk/Blog查看我的一系列文章,在那里我创建了一个向ASP.Net MVC添加REST支持的框架