为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
富国沪深 2021-06-09 17:14:40
我目前正在学习如何将实体框架与数据库优先功能一起使用。我正在开发一个 ASP.Net Webforms 应用程序。我对在哪里实现我的 CRUD 功能有点困惑。例如,我有一个包含各种字段的“成员”表。我有一个 webforms 页面,它在 gridview 中列出了我的成员。我有一个模态弹出表单,我可以在其中编辑和更新这些成员记录。我应该将我的 CRUD 放在我的页面的代码隐藏中,还是应该通过拥有一个具有更新功能的成员控制器类来分开它,从我的网络表单调用?另外,如果我有一个更新所有成员属性的函数,例如,如果我想更新单个值,我该怎么办?我是否应该在控制器类中编写我的更新方法以接受“空”值并仅更新参数中未提供为空的字段?如果我让这听起来比应该的更混乱,请道歉。
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

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

在您学习的过程中,我敢打赌您将编写一个中小型应用程序(不会太大),因此我的建议是将 CRUD 代码保留在.

如果您将EF DB Frist 与 MVC一起使用,并搭建了控制器和视图的脚手架,您将看到CRUD 操作是在控制器中生成的(它可以被视为后面的 .aspx.cs 代码),而不是在视图中(这些可以被视为 .aspx)而不是在模型的类中。

因此,将 CRUD 操作保留在代码后面是可以的……如果您不打算构建一个可以在 Web 上运行的解决方案,并且需要使用 Web 服务(可能是 REST)连接到移动设备;在这种情况下,安德鲁的答案就是要走的路。

有些人可能会建议您使用某种 Repository 模式对于小型应用程序来说太过分了,而且现在您正在学习它会增加复杂性 。实体框架已经实现了一个 Repository Pattern


查看完整回答
反对 回复 2021-06-26
  • 2 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信