问题列表 - 第5699页

临时数据和存储库模式

从存储库返回ad hoc(自定义大小写)数据的推荐方法是什么?这些数据不适合任何模型实体或扩展某些模型实体?

101例子是无处不在的hello word应用程序:博客系统.假设您要加载帖子列表,其中帖子条目具有Post实体中不存在的一些其他信息.假设这是评论的数量以及上次评论的日期和时间.如果使用普通的旧SQL并直接从数据库中读取数据,这将非常简单.如果我无法负担为每个帖子加载评论的整个集合,我应该如何以最佳方式使用存储库模式,并且我想在一个数据库中执行它?这种情况有没有常用的模式?现在假设您有一个中等复杂的Web应用程序,其中每个页面需要稍微不同的自定义数据,并且无法加载完整的层次结构(性能,内存要求等).

一些随意的想法:

  1. 向每个模型添加属性列表,这些属性可以由自定义数据填充.

  2. 子类模型实体,并为每个子类创建自定义读取器.

  3. 使用LINQ,撰写即席查询和读取匿名类.

注意:我最近问了一个类似的问题,但它似乎过于笼统,并没有引起太多关注.

例:

根据以下答案中的建议,我将添加一个更具体的例子.这是我试图描述的情况:

IEnumarable<Post> posts = repository.GetPostsByPage(1);
foreach (Post post in posts)
{

    // snip: push post title, content, etc. to view

    // determine the post count and latest comment date
    int commentCount = post.Comments.Count();
    DateTime newestCommentDate = post.Comments.Max(c => c.Date);

    // snip: push the count and date to view

}
Run Code Online (Sandbox Code Playgroud)

如果我不做任何额外的事情并使用现成的ORM,这将导致n + 1个查询或可能一个查询加载所有帖子和评论.但最好的情况是,我希望能够只执行一个SQL,它会为每个帖子返回一行,包括帖子标题,正文等,以及评论计数和最近的评论日期.这在SQL中是微不足道的.问题是我的存储库无法读取并将此类数据放入模型中.最大日期和计数在哪里?

我不是问怎么做.您可以随时以某种方式执行此操作:向存储库添加额外的方法,添加新类,特殊实体,使用LINQ等,但我想我的问题如下.为什么存储库模式和正确的模型驱动开发如此被广泛接受,但它们似乎并没有解决这个看似非常普遍和基本的情况.

sql database model repository-pattern

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

如何设置MySQL进程或线程的最大数量?

ps axuw| grep mysql表示只有MySQL进程,但是如果我运行htop,我可以看到10行,每行有一个单独的PID.所以我想知道它们是否是线程或进程,由于某种原因我看不到使用ps.

在我的开发机器上尝试将它们限制为两个是否有任何意义,我不需要同时访问许多客户端.

BTW在Ubuntu 8.10上运行

mysql multithreading process

24
推荐指数
3
解决办法
5万
查看次数

什么是数据断点?

我刚才知道有数据断点.我使用Visual Studio在C++工作了5年,从未使用过数据断点.

有人可以了解一下数据断点是什么,何时使用它们以及如何在VS中使用它们?

根据我的理解,当我们想要检查变量值的变化时,我们可以设置数据断点.在这种情况下,我们可以使用变量值的条件设置数据断点.

还有其他例子吗?

c++ debugging breakpoints conditional-breakpoint visual-studio

26
推荐指数
2
解决办法
4万
查看次数

C++中编译器和评估的参数顺序

好吧,我知道标准规定C++实现可以选择评估函数的哪个顺序参数,但是在实际影响程序的情况下是否有任何实现"利用"它的实现?

经典示例:

int i = 0;
foo(i++, i++);
Run Code Online (Sandbox Code Playgroud)

注意:我不是在找人告诉我评估的顺序不能依赖,我很清楚这一点.我只对任何编译器是否真的按照从左到右的顺序进行评估感兴趣,因为我的猜测是,如果他们做了很多写得不好的代码就会破坏(这是正确的,但他们仍然可能会抱怨).

c++ operator-precedence

59
推荐指数
4
解决办法
2万
查看次数

如何从ASP.NET中的任何类访问会话变量?

我在应用程序的App_Code文件夹中创建了一个类文件.我有一个会话变量

Session["loginId"]
Run Code Online (Sandbox Code Playgroud)

我想在我的类中访问此会话变量,但是当我编写以下行时,它会给出错误

Session["loginId"]
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何访问在ASP.NET 2.0(C#)中的app_code文件夹中创建的类中的会话变量

c# asp.net session-variables

153
推荐指数
4
解决办法
31万
查看次数

re.compile(r'[[]]')匹配什么?

使用Python的re模块,为什么以下操作方式不同:

>>> r = re.compile(r'[][]')
>>> r.findall(r'[]')
['[', ']']
>>> r = re.compile(r'[[]]')
>>> r.findall(r'[]')
['[]']
>>> r.findall(r'][')
[]
Run Code Online (Sandbox Code Playgroud)

python regex

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

web.config中的debug = true =坏事?

我们看到很多虚拟内存碎片和内存不足错误,然后它达到了3GB的限制.

在web.config中编译调试设置为true但是我从每个人那里得到不同的答案,调试设置为true会导致每个aspx编译成ram的随机区域,从而破坏ram并最终导致内存不足问题吗?

asp.net web-config

52
推荐指数
3
解决办法
4万
查看次数

JQuery:为什么不引人注目的JavaScript /文档就绪功能而不是OnClick事件?

我刚刚开始关注JQuery.我目前在我的网络应用程序中没有任何AJAX.

我在HTML中的现有JavaScript看起来像:

<form ...>
<p>Find what? <input ...></p>
<div class="ButtonArray">
  <a href="AddRecord.ASP&amp;Action=ADD">ADD</a>
  <a href="#" onClick="return MyFormSubmit();">FIND</a>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)

这将显示[添加]和[查找]的按钮.对于Find,有必要提交表单,我使用MyFormSubmit()验证数据,为页面添加视觉效果,然后POST数据.

我可以为Find按钮添加一个CLASS或ID,在JQuery中我可以编写如下内容:

$(function() {
  $(".MySearchButtonClass").click(function() {
    // validate and process form here
  });
});
Run Code Online (Sandbox Code Playgroud)

在我与JQuery理解的"新手"阶段,我不明白为什么我会这样做

我的旧方法识别对象附近的方法.在用户按下按钮之前可能存在JS未加载的风险(在那里?JS的LOAD位于页面顶部).

在加载文档之前,JQuery Document Ready方法不会被激活(我假设JS已经存在并准备好运行了吗?),但它将代码移动到我的HTML文件的一个单独部分 - 所以当我在HTML源代码中看到了MyButtonArray DIV,对我来说哪些对象有方法,哪些对象没有方法不明显.

能否帮助我了解我的选择以及我应该注意的好处/问题?

编辑:我觉得DOM操作 - 比如点击任何带有类"LightBoxThumb"的缩略图时可以出现的LightBox - 会使用Unobtrusive Javascript.

但是,我正在努力说服自己,具有特定操作的按钮应该以这种方式应用其方法.(我当然不会在按钮上放任何代码而不是单个函数调用"其他地方"的东西,但在我看来,这是我最好的线索,关于那个按钮做什么,而不显眼的Javascript层可能会更难确定.)

Edit2 - 接受的答案

我已经接受了Russ Cams的回答.它以一种对我有所帮助的方式描述了Unobtrusive Javascript,以便更多地了解应该如何以及何时应该使用它.

目前(当我有更多经验时可能会改变!)我将坚持使用OnClick事件对一个对象进行单个,不变的动作,因为我觉得我更容易调试 - 并且如果出现问题则进行诊断.对于允许单击标题列进行排序(以及该类型的情况)的表上的ZebraStripes,我可以看到Unobtrusive Javascript方法的好处

Russ的最终评论特别有用,在此重复:

"@Kristen - 你是对的,就像许多编程主题一样,有不止一种方法,人们会强烈支持他们的信念!如果我们谈论单一按钮的单一方法,我完全理解你的位置来自......

如果我们讨论的是大量的JavaScript,同一个函数调用多个元素,不同的函数调用不同的方法,等等.我认为自己混合内联和不显眼的方法会更加困难,而且它会是更好地采用一种或另一种方法"

jquery unobtrusive-javascript document-ready

6
推荐指数
1
解决办法
6646
查看次数

剪贴板事件C#

是否有可以通过C#访问的剪贴板更改或更新事件?

c# clipboard events

86
推荐指数
7
解决办法
6万
查看次数

命名资源文件中的密钥是最佳实践

有没有人对资源文件中的命名密钥有任何建议?例如,您是否将密钥的名称基于需要本地化的文本或使用该文本的控件?

假设您在多个屏幕中有一个编辑按钮(一个用于编辑用户,一个用于编辑组).您可以使用以下键:

  • editUserButton.label =编辑用户...
  • editGroupButton.label =编辑组...

要么

  • editUser =编辑用户...
  • editGroup =编辑组...

要么

  • user.edit =编辑用户...
  • group.edit =编辑组...

你更喜欢什么方案?为什么?

localization internationalization

16
推荐指数
1
解决办法
4729
查看次数