Jen*_*ens 5 postgresql nhibernate entity-framework asp.net-mvc-3
在官方的MVC 3入门教程中,在我看来,我们要做的就是让ORM正常工作是两个步骤.
首先添加简单的MovieDBContext代码,如第4部分末尾所述.
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
.. 在第5部分的开头第二步,只需右键单击Controllers文件夹,我们就可以自动生成一个实现CRUD()的MoviesController - 使用Entity Framework的功能,只需告诉使用哪个Model.
现在,当使用Web应用程序时,我们已经可以从数据库中编写和读取.
使用Visual Web Developer Express在Windows上完成开发,生产环境将是/应该是Linux + Mono.
迄今为止有效的步骤:
到目前为止,我设法让Postgres使用"动态数据实体Web应用程序",但是使用MVC 3 Web应用程序,我仍然坚持在哪里/如何开始.对于最后提到的MVC-3-Movie-Webapp,我想使用NHibernate和Npgsql将数据库从SQL Server Express切换到Postgres(NHibernate,因为Mono不支持实体框架).
当你看到第4部分的结尾时,就会有一个简单的MovieDBContext代码
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在第5部分的开头,我们通过简单地告诉使用哪个模型来使用实体框架自动生成CRUD-stuff.(MoviesController.cs,Create.cshtml,Delete.cshtml,Details.cshtml,Edit.cshtml和Index.cshtml)
所以我使用Entity Framework和SQL Server Express,但是如何使用NHibernate实现相同的结果呢?(不一定要立即使用postgres,坚持使用SQL-Server作为第一步就可以了)(希望有类似的简单,但获得结果本身会很棒)
我发现了很多旧东西,我会怎样手动映射东西,但是使用NHibernate for MVC 3实现这一目标的最新标准方法是什么?
(我发现最接近的是这个帖子中提到的源代码,但它解压缩了64 MB我得到了几个"项目没有成功加载" - 错误并且作者说他使用MVC 2所以我认为它有点超过我的头脑一个完整的NHibernate菜鸟.)
我认为展示如何做到这一点对其他人来说也非常有用,因为原始教程非常容易理解,并且作为http://www.asp.net/上MVC 3应用程序开发的官方起点链接起来. mvc("你的第一个ASP.NET MVC应用程序").所以我认为这将是一个关于如何将NHibernate与MVC 3一起使用的最新例子.
建议,不要沉迷于教程向您展示的所有自动内容。微软只是想表明,如果你不尝试做任何独特的事情,你可以轻松地开始工作。
现在来说说你的情况。当您制作控制器时,您希望将该控制器与您在某处创建的模型类型绑定。对于 nHibernate,我认为您将手动创建这些 POCO,并且您正在使用多种方法之一通过 nHibernate 将这些 POCO 映射到数据库。
您将无法使用实体框架选项,因为它们依赖于框架的功能来提供有关对象、数据库等的信息。最简单的事情就是制作一个控制器,它可以为您提供 CRUD 选项或者使用空控制器来构建您自己的 ActionResults。
希望这对您有所帮助,并祝您的项目好运。
| 归档时间: |
|
| 查看次数: |
2899 次 |
| 最近记录: |