小编Dav*_*ave的帖子

存储库模式解决了哪些具体问题?

(注意:我的问题与三个月前提出这个问题的人非常相似,但从未得到过回答.)

我最近开始使用MVC3 + Entity Framework,我一直在阅读最佳实践是使用存储库模式集中访问DAL.这也伴随着您希望将DAL与域(尤其是视图层)分开的解释.但是在示例中,我看到存储库(或似乎是)只是返回DAL实体,即在我的情况下,存储库将返回EF实体.

所以我的问题是,如果它只返回DAL实体,那么存储库有什么用呢?这是否会增加一层复杂性,而不会消除在层之间传递DAL实体的问题?如果存储库模式创建"进入DAL的单一入口点",那么它与上下文对象有何不同?如果存储库提供了一种检索和持久化DAL对象的机制,那么它与上下文对象有何不同?

此外,我至少读过一个地方,工作单元模式集中了存储库访问以管理数据上下文对象,但我不知道为什么这也很重要.

我98.8%肯定我在这里遗漏了一些东西,但从我的读数中我没有看到它.当然,我可能只是没有阅读正确的消息来源......:

design-patterns domain-driven-design entity-framework repository-pattern

43
推荐指数
3
解决办法
9096
查看次数

如何在多个应用程序中重用MVC3控制器/视图?

我正在重写一些结构不好的旧ASP应用程序,并尝试在此过程中学习.NET和MVC3.有两个主要的应用程序,其中一个重用另一个的代码,实际上只是另一个的非常有限的版本.一个向"权力"用户提供有关数据库中任何人的报告.另一个仅针对请求报告的个人提供报告.这些服务器位于不同的服务器上,DMZ中的服务器数量较多,而第二个防火墙服务器数量较多.

我的问题是,由于实际报告对于两者都是相同的,只是参数化为更强大的一个允许它在任何用户上运行,我不想复制和粘贴重用报告生成从一侧到其他.我想制作一些可重复使用的控制器库和视图/局部文件来提供相同的信息,并允许我在一个地方维护它.

这可能与MVC3有关吗?还是有更好的方法?我在这里搜索了一下但没有找到任何关于此的内容,但也许我没有使用正确的术语.

我在使用Razor的VS2010,C#,MVC3.

提前致谢.

c# asp.net-mvc razor asp.net-mvc-3

8
推荐指数
1
解决办法
718
查看次数

HtmlHelper 与 Partial 的性能

对给定任务使用 HtmlHelper 或 Partial 之间是否存在性能差异?

例如,我正在编写一个 HtmlHelper“控件”来在编辑器中创建一个具有以下签名的链接:

public static HtmlString RecordNameLink(
        this HtmlHelper htmlHelper, 
        string linkText, 
        string editActionName, 
        object editRouteValues, 
        string deleteActionName = null, 
        object deleteRouteValues = null)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,编辑按钮将始终显示,删除按钮仅在包含时才会显示。或者,我可以这样做:

@Html.Partial("Controls/RecordNameLink", Model)
Run Code Online (Sandbox Code Playgroud)

(或传递部分特定模型)

但是有没有理由选择一个而不是另一个,特别是一个比另一个有更好的性能吗?(虽然我愿意了解更多关于一般差异的信息)

谢谢。

asp.net-mvc asp.net-mvc-3

5
推荐指数
1
解决办法
1019
查看次数

计算比率只给0或1?

我有一段T-SQL代码,看起来像这样:

select @automation_rate = 
  case 
    when @total_count = 0 then 0
    else @automated_count / @total_count
  end
Run Code Online (Sandbox Code Playgroud)

@automation_rate是十进制(3,2).@total_count和@automated_count是整数.

不幸的是,为@automation_rate返回的唯一值是0或1.显然这里有一些错误,它可能是非常简单的,但对于我的生活,我看不到它.

底层结果集中的所有数据(我在表上循环)是0或正整数.除自动化率外,所有值均为整数.

这是示例值和预期(使用计算器)与实际结果:

automated count     total count     expected ratio     actual ratio
---------------     -----------     --------------     ------------
              0              35                0.0             0.00
             98             258              37.98             0.00
             74             557              13.29             0.00
            140             140               1.00             1.00
Run Code Online (Sandbox Code Playgroud)

如您所见,除了自动=总数之外,所有值的比率均为0.00.我还有一个Excel电子表格,它执行相同的基本计算,每次都是完美的(就像"预期"列一样).

那我哪里出错了?

(这是在MS SQL Server 2005上,关于任何影响的关闭机会)

编辑感谢大家的答案.我假设整数舍入部分,因为它正在移动到它会自动转换的十进制数据类型,而不是意识到它会进行计算,舍入,然后转换.每个人都有类似的答案,所以所有人都赞成.

sql t-sql sql-server sql-server-2005

4
推荐指数
1
解决办法
3093
查看次数