猿问

在实体框架 DB First .Net 应用程序中放置 CRUD 功能的位置

我目前正在学习如何将实体框架与数据库优先功能一起使用。

我正在开发一个 ASP.Net Webforms 应用程序。

我对在哪里实现我的 CRUD 功能有点困惑。

例如,我有一个包含各种字段的“成员”表。

我有一个 webforms 页面,它在 gridview 中列出了我的成员。我有一个模态弹出表单,我可以在其中编辑和更新这些成员记录。

我应该将我的 CRUD 放在我的页面的代码隐藏中,还是应该通过拥有一个具有更新功能的成员控制器类来分开它,从我的网络表单调用?

另外,如果我有一个更新所有成员属性的函数,例如,如果我想更新单个值,我该怎么办?

我是否应该在控制器类中编写我的更新方法以接受“空”值并仅更新参数中未提供为空的字段?

如果我让这听起来比应该的更混乱,请道歉。


富国沪深
浏览 122回答 2
2回答

子衿沉夜

我目前正在学习如何将实体框架与数据库优先功能一起使用。在您学习的过程中,我敢打赌您将编写一个中小型应用程序(不会太大),因此我的建议是将 CRUD 代码保留在.如果您将EF DB Frist 与 MVC一起使用,并搭建了控制器和视图的脚手架,您将看到CRUD 操作是在控制器中生成的(它可以被视为后面的 .aspx.cs 代码),而不是在视图中(这些可以被视为 .aspx)而不是在模型的类中。因此,将 CRUD 操作保留在代码后面是可以的……如果您不打算构建一个可以在 Web 上运行的解决方案,并且需要使用 Web 服务(可能是 REST)连接到移动设备;在这种情况下,安德鲁的答案就是要走的路。有些人可能会建议您使用某种 Repository 模式,这对于小型应用程序来说太过分了,而且现在您正在学习它会增加复杂性 。实体框架也已经实现了一个 Repository Pattern。
随时随地看视频慕课网APP
我要回答