【问题标题】:MVC3 app architecture - how to store dataMVC3 应用架构——如何存储数据
【发布时间】:2011-07-15 10:03:17
【问题描述】:

目标:

  • 能够在 MVC3 中快速开发应用程序
  • 在一个地方进行验证(即可能是模型)

我已经有一个数据库了

问题:您目前选择的工具链是什么?

我已经跳出来了:

MvcScaffolding - http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/

但是,如果您使用模型优先策略,这需要 EF CTP5

无法弄清楚如何从模型中轻松获取验证(DataAnnotations),例如 [Required] 字段

EF 模型优先 - DataAnnotations 再次看起来很难。 Entity Framework - DataAnnotations

LightSpeed - http://www.mindscapehq.com/ 当前选择的 ORM。

【问题讨论】:

  • 可能想看看 S#arp 架构,尤其是最新的 1.9 版本 - blog.sharparchitecture.net 它支持开箱即用的 NHibernate、Fluent NHibernate 和 NHibernate 验证,还包括用于生成控制器的 T4 模板和模型(可能还有视图 - 不记得了)
  • “使用验证器”这听起来不像是系统的目标,而是实现目标的一种手段。系统的目标通常由某种业务需求驱动。
  • 感谢@Brian 我已对文本进行了更改
  • 将它们全部放在一个地方会很好,但这种情况很少发生,您倾向于在 UI 级别使用验证器(类型验证、范围验证等),除非您有非常简单的域模型,在您的实体上还会发生更复杂的验证(状态 X 的实体不支持值 Y 等)。不幸的是,没有灵丹妙药,它通常取决于您的验证有多少以及有多多样化。您通常希望的最好结果是不要多次重复相同的验证。祝你好运!

标签: entity-framework asp.net-mvc-2 asp.net-mvc-3 scaffolding lightspeed


【解决方案1】:

这是我的工具链:

我还使用这些框架构建了一个sample project structure

【讨论】:

  • 很棒的东西达林 - 谢谢。我最终选择了 LightSpeed (Mindscape) 和 MVC3 / Razor。我正在使用 LightSpeed 验证。 @Brian 在上面提出了一个很好的观点,即脚手架很少在大型项目中提供帮助。但是作为起点,它对我来说非常有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 2016-11-20
相关资源
最近更新 更多