我目前正在开发一个项目,我必须将类映射到数据库以实现持久性。我已经理解了OR阻碍的概念以及Nhibernate如何帮助它,但我无法理解究竟是什么。我所有的教程都来了accross是基于控制台的应用程序,其中我的要求是使用asp.net和C#构建Web应用程序。
解释以下内容:
- >你能解释一下每个应用程序的文件结构以及每个应用程序的用途是什么吗?
- >必须使用什么样的asp.net模型?我之前没有asp.net的知识,但我已经设法从网页和MVC模型中的w3schools中掌握了一些概念?
- >用户界面上的任何元素如何对应于持久化类,它是如何运作的?这是我非常困惑的地方。
- >请链接我一些易于理解的教程(专注于Web应用程序开发)
如果你试图以最简单的方式解释事情,我也会嗤之以鼻,因为我是新手用户>。< .Half我无法理解他们所使用的具有挑战性的术语所说的专业知识的时间。
答案 0 :(得分:0)
NHibernate与ASP.Net无关,你应该尝试理解彼此分离的两种技术。
NHibernate是一种从数据库中持久保存和加载数据模型的工具。数据模型应该是对现实世界的近似表示,不一定与您希望显示该模型中包含的信息的方式相对应。
NHibernate适用于ASP.Net Web表单和ASP.Net MVC。我个人更喜欢MVC,因为它类似于HTTP的无状态特性,而Web表单试图像windows窗体一样创建一个有状态的表示。由于这是通过无状态协议完成的,因此它有其怪癖。但两者都有它们的用途,你应该在决定之前先看看它们。
无论您选择哪种,NHibernate都将在后台与数据库进行通信。要将演示文稿与数据层分开,通常使用单独的模型进行演示。然后,这些模型确切地包含您的视图或Web表单需要知道的内容,理想情况下甚至不知道信息来自何处。您需要将数据层模型转换为这些表示模型。我使用了AutoMapper库来实现这一目标。 MVC和MVVM等几种设计模式描述了如何实现数据,业务和表示层之间的分离。