.net - MVC解决方案结构

标签 .net asp.net-mvc entity-framework

我问这个问题有点傻,但是我已经寻找了一段时间,但是还没有找到完整的答案,比如说我有一个MVC网站,因为我遵循这篇文章的结构:

Architectural decisions: ASP.NET MVC & Entity Framework

WebSite (MVC)
   Controllers
   Views
   Content (scripts, css, images, etc.)

Presentation Models
   View Models
   Model mappers

Web Library
   Extensions (to MVC/Web classes)
   Helper Classes
   Attributes

Business Logic
   Rules  

Data (if complex, use separate subfolder per context/repos/models)
   Entity Models
   Repositories 
   Data Context

General Library
   Extensions
   Helper Classes

1)我应该将链接查询放在哪里以搜索数据?

我曾考虑过在BL中创建一个通用搜索对象,并在其他应用程序(例如移动应用程序或winform应用程序)需要时将其重新使用,然后返回将通过Presentation模型项目映射的通用搜索对象?
我不确定查询是否是“业务逻辑/规则”。

还是我应该直接在Presentation Models项目中进行所有这些查询?
如果是这样,我假设我仍然需要首先创建通用对象,以便可以将相同的查询重用于其他设备。

2)假设我要在此之上添加一个移动应用程序,我是否应该将每个 View 模型都放在针对Web和移动设备的同一Presentation Models项目中?

3)是否应该从Web流程通过Presentation层进行每次 call ,甚至进行输入验证和CRUD操作?

感谢您的时间

最佳答案

在此,我对您在此处提出的问题发表了意见。
1)我应该将链接查询放在哪里以搜索数据?

* 如果您的Linq查询与某些搜索条件相关联,请在BL层中使用它们。 *
2)假设我要在此之上添加一个移动应用程序,我是否应该将每个 View 模型都放在针对Web和移动设备的同一Presentation Models项目中?

*您将被要求这样做*

3)是否应该从Web流程通过Presentation层进行每次 call ,甚至进行输入验证和CRUD操作?
*始终应在以下两个位置进行任何验证:表示层和BL,以便以后在公开WCF服务时,它将正常运行。即使跳过表示层验证,也可以。但是BL验证总是失败安全的*

关于.net - MVC解决方案结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15199312/

相关文章:

c# - 简单的 ASP.Net MVC 1.0 验证

javascript - 如何使用 javascript 从 Controller 调用函数

entity-framework - EF4 : ObjectContext Lifetime?

c# - Entity Framework - 代码优先 - 无法存储列表 <String>

c# - 将水印图像写入上传的图像(在 MVC Controller 中)

c# - WebClient AsyncUpload 进度百分比始终返回 50%

c# - Nancy 模块中的 Autofac 属性注入(inject)

.net - Azure 上的 Entity Framework "Invalid attempt to read when no data is present"和 'large' 数据

asp.net-mvc - ASP.NET MVC - 它适用于小型网络设备吗?

c# - 模型重建后如何保留自定义导航属性?