我在过去四年中使用过asp.net网页表单。我正在尝试熟悉mvc4。如果你没有使用类似于实体框架的orm,你会在模型中加入sql代码吗?例如,如果您有一个名为person的域对象(模型类),那么您将拥有如下功能:person.select,person.update,person.delete。mvc4模型对象封装sql吗?
我很困惑,因为我认为mvc4是用户界面,所以它似乎不正确把模型中的sql语句。
我已经在这里约mvc4今天看了很多的问题,但我还没有找到一个明确的答案
我在过去四年中使用过asp.net网页表单。我正在尝试熟悉mvc4。如果你没有使用类似于实体框架的orm,你会在模型中加入sql代码吗?例如,如果您有一个名为person的域对象(模型类),那么您将拥有如下功能:person.select,person.update,person.delete。mvc4模型对象封装sql吗?
我很困惑,因为我认为mvc4是用户界面,所以它似乎不正确把模型中的sql语句。
我已经在这里约mvc4今天看了很多的问题,但我还没有找到一个明确的答案
任何CRUD功能从控制器级别执行。您可能有一个数据访问层或存储库将这些数据抽象出来,但对这些功能的调用将是控制器级别。
如果数据需要传递给视图,那么将该数据放入视图模型中。然后将视图模型传递给视图以供使用。该视图只能访问该模型中的数据。当你想更新一些东西时,你可以回调控制器更新动作,然后控制器可以从那里处理它。
模型本身只是一个POCO (Plain Old CLR Object)
它不会有任何方法。 @Html
和@Ajax
帮助程序对于快速访问Controller操作非常有用。 Ajax人可以返回部分视图,这将有助于在屏幕上更新数据而无需回发。
有一个相当不错的MVC4(免费)视频教程,分成小段,所以你可以很容易地找到你需要的位。 Take a look at it here
Your Model只是POCO类,所有的腿部工作都由控制器完成。控制器使用数据填充模型以在视图中使用。 – James
我的意见是,编写sql代码的最佳位置是存储过程,并且您的控制器只需调用这些sp。 –
@DanBracuk是和否如果你没有使用ORM,那么一定要使用存储过程。让控制器直接调用存储过程,可能并不是一个好习惯。某种数据层或存储库应该真的被使用 – James