【问题标题】:Asp.MVC does we can call database layer from model assembly?Asp.MVC 我们可以从模型组件中调用数据库层吗?
【发布时间】:2012-12-21 22:24:42
【问题描述】:

我需要知道从架构的角度来看这是否是正确的方法。

我正在处理 MVC 项目,我有一个单独的数据层程序集和另一个模型程序集。这两个程序集都在 MVC 项目中被引用。

现在出现了一个场景,我需要在模型组件中从数据库中获取数据注释字符串,是否可以在模型组件中引用数据层并从数据库中获取字符串,或者是否有更好的方法。

请推荐

【问题讨论】:

  • 也许我理解错了,但是在这种情况下,您的数据层不是已经引用了模型吗?
  • Datalayer 是 EF,所以业务层不需要模型的引用,我们称之为 EF 方法,从模型中分配数据

标签: asp.net-mvc-3 design-patterns


【解决方案1】:

与设计问题一样,答案是“视情况而定”:)

我有一个项目,其中完全相同的实体用作模型和数据实体,因此在 UI (ASP.NET MVC) 和数据层 (EF 4.3) 中使用基本相同的数据注释。有用。好处是它在整个系统中是一致的(Account 对象在任何地方都意味着完全相同的东西),坏处是任何额外的模型逻辑,无论是面向数据库(例如导航属性)还是面向 UI(例如 FullName Account 类的属性)将混合在同一个地方。

我有另一个项目,其中 UI 层的模型与数据层完全分离,通过管理层进行通信。有用。这里的好处是每一层都非常清晰,并且它的职责非常明确。然而,缺点是许多管理代码是管道代码,但不够简单,无法自动生成。此外,任何更改,例如,将文本字段添加到实体,都需要在更多地方进行更改。值得注意的是,开发人员之间的交流受到了一些“帐户”类的阻碍(AccountViewModelAccountEntityAccountManager 等)

所以,我的观点是,做任何看起来最符合您当前架构的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 2011-08-31
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 2011-12-11
    相关资源
    最近更新 更多