控制器-应该直接处理服务层还是存储库? - c#

Improve this question

在线上有太多冲突的文章。您对此有何个人看法(对于企业应用程序).​​....

在我的C#/ MVC应用程序中,我已按照此处的建议设置了体系结构,减去了依赖项注入和自动映射器:https://chsakell.com/2015/02/15/asp-net-mvc-solution-architecture-best-practices/

通常,当谈到MVC控制器时,它是否应该仅直接处理服务层?还是直接处理存储库仍然是一种好习惯?什么可以帮助您做出决定?

另外,是否应该在控制器级别创建UnitOfWork类,然后将其传递到Service / repo中?

谢谢

参考方案

好吧,工作单元,我认为没有用,因为DBContext可能是工作单元,
您也可以使用DbContext作为存储库。
我是否需要存储库和服务层,我认为仅其中之一就足以取决于项目的复杂性,而服务层就是您拥有更复杂的项目时的层。
您应该考虑如何重用代码,并使代码保持简单,但不要使用不可重用的代码创建很多层次

ASP.NET MVC 5自定义登录,无需脚手架,数据库优先 - c#

我对asp.net和mvc还是很陌生,所以我正在努力学习尽可能多的知识...为此,我从头开始编写博客网站,但是我对身份验证和授权有些困惑。由于我倾向于不真正使用任何脚手架的东西,所以我首先要使用数据库,所以不希望asp.net身份为我创建表。我对散列和加盐密码很酷,并对照数据库检查用户,我遇到的麻烦是将用户设置为登录状态并检查他们应该能够访问什么。我真的很想…

asp.net mvc或javascript将另一页的结果返回给方法 - c#

是否可以将另一个页面的结果返回给JavaScript方法或C#控制器操作?我有一个共享的复杂页面,该页面在我的网站上遍布使用,当前用于在C#后端的用户数据上设置单个变量。当用户完成共享的复杂页面后,我将返回引用页面。当用户在刷新或返回时将其作为url参数传递给返回的页面时,我返回的页面包含新选择的变量。我有一个新页面,我希望从我的共享复杂页面中返回该变量。但…

MVC C#TempData - c#

有人可以解释一下MVC中TempData的目的。我了解它的行为类似于ViewBag,但除此之外它还有什么作用。 参考方案 TempData应该是一个短暂的实例,您应该 仅在当前和后续请求中使用它!以来 TempData以这种方式工作,您需要确定下一步 要求,并且重定向到另一个视图是您唯一的时间 可以保证这一点。因此,唯一使用TempData的方案 在重定向时…

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

asp.net oledbcommand返回所有行 - c#

我正在使用Oledbconnection连接到Microsoft Access数据库,并且正在使用OleDbCommand检索一些信息。我在数据库中有一个名为retrieveInfo的查询,该查询检索3行数据。字段中有一些重复项,但是应该是这样。我的数据如下所示: Name Email A [email protected] B [email protected] B C@gmai…