小编Sam*_*Sam的帖子

将包含top,count,group和order的SQL转换为LINQ(2个实体)

一些LINQ查询仍然困扰着我.

对于包含两列,'Page'和'Date'的表'Hits',我想找到在定义的时间片段中具有最多行的页面.

在SQL中我会使用这个:

SELECT TOP 10
      [Page]
      ,COUNT([Page]) as Number
FROM dbo.[Hits]
WHERE [Date] >= CONVERT(datetime,'14 Jan 2009')
AND [Date] < CONVERT(datetime,'15 Jan 2009')
Group BY [Page]
Order by Number DESC
Run Code Online (Sandbox Code Playgroud)

在LINQ我不知道如何处理这个问题,任何人都可以帮助我吗?我尝试使用linqer转换它,但它只显示此表达式的错误.

sql linq

5
推荐指数
2
解决办法
2686
查看次数

用这个.访问内部班级成员?

在互联网上,我看到很多使用它的代码.访问类的本地成员,如下所示:

private String _whatever;
public String Whatever
{
  get
  {
    return this._whatever;
  }
  set
  {
    this._whatever = value;
  }
}

public void DoSomething()
{
  String s = this.Whatever;
  this.DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

(不要指望代码做一些合理的事情.我只是想为"this"展示一些不同的用途.)

我想知道为什么要这样做?为源代码添加更多清晰度?
还是只是浪费空间?

c# coding-style this

5
推荐指数
2
解决办法
205
查看次数

WPF MVVM:ItemTemplate,用于将ICommands列表绑定到ListBox

在MVVM应用程序中,我动态地想要显示可在运行时更改的函数的按钮.从技术上讲,这并不是那么困难,在我的ViewModel中,我有一个可观察的RelayCommands集合:

public ObservableCollection<RelayCommand> CustomCommands {get;set;}
Run Code Online (Sandbox Code Playgroud)

现在在Xaml中我可以将ListBox绑定到此Collection:

<StackPanel Orientation="Horizontal">
  <ListBox ItemsSource="{Binding CustomCommands}">
    <ListBox.ItemsPanel>
      <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"/>
      </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
    <ListBox.ItemTemplate>
      <DataTemplate>
        <wpfhlp:RelayButton DataContext="{Binding}"/>
      </DataTemplate>
    </ListBox.ItemTemplate>
  </ListBox>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

乍一看,这看起来很有效.
我的问题是:tabstop命令被破坏了.我希望用户能够从按钮跳到按钮,但是ListBox不是按钮,而是使用箭头键而不是tab来选择按钮.

我需要ListBox能力绑定到一个集合,但我不需要任何其他的列表框功能.
是否有其他面板而不是我可以使用的ListBox?
或者我可以以某种方式禁用ListBox函数,以便它只显示包含的项目,而无法在ListBox中选择它们?

c# wpf binding listbox mvvm

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

如何在Prism/MEF中的ItemsControl中对视图进行排序?

我用prism v4和MEF来加载我的模块.我的模块包含一些视图(MVVM),它们由MEF自动加载到ItemsControl/NavigationRegion中.

这很好用,所有项目都显示在ItemControl中.但我不喜欢他们表现的顺序.一个模块可能包含多个项目,因此更改模块加载顺序本身是不够的.

如何在ItemsControl中对不同的视图进行排序?是否有办法按某些财产对它们进行排序?

由于StockTraderRI示例中的属性,我使用棱镜V4,MEF和探索.

wpf prism mef

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

通知关闭程序的视图(模型)

所以我让我的prism/mvvm/mef程序运行良好,用户在应用程序中输入数据,然后关闭应用程序(或关闭计算机).

如何通知程序关闭/计算机关闭的View(模型),以便它可以保存用户数据,也可以询问是否应保存这些数据?

关闭程序关闭的数据肯定是要避免的,并且在用户的每个按键上保存内容是没有意义的.

prism shutdown mvvm application-shutdown

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

使用c ++ dll在c#app中堆栈溢出

我有一个使用c ++/cli托管dll的ac#程序.该DLL包含许多遗留代码,包含相当多的win32窗口.

问题是,dll中的窗口需要比平均咳嗽更多的堆栈空间.由于这些不是后台进程而是win32 api,我需要扩大GUI线程的堆栈大小(至少我认为dll中的win32 api将使用主gui进程).

所以我需要一种方法来扩大ac#process中GUI线程的大小.

由于我没有找到任何设置来实现这一点,我从命令行尝试了editbin/STACK,这是有效的.问题是,它只能在命令行中运行,如果我尝试将其作为post-build-step输入,由于某种原因二进制的堆栈大小不会改变,即使postbuild步骤正确执行并且没有抛出错误:(

editbin.exe /STACK:2097152 $(TargetPath)
Run Code Online (Sandbox Code Playgroud)

(Editbin.exe在路径中,输出窗口中没有错误)

那么如何为我的c ++ dll获得更多的堆栈大小?

[更新]

我注意到使用editbin.exe时出现问题.

这在命令行和后期构建步骤中都不起作用:

editbin.exe /STACK:2097152 c:\some\path\bin\release\app.exe
Run Code Online (Sandbox Code Playgroud)

这在命令行中有效,但不能作为构建步骤:

editbin.exe /STACK:2097152 app.exe
Run Code Online (Sandbox Code Playgroud)

但我需要它作为后期构建步骤.我试着把它放到一个批处理文件中,回显以确保调用和工作目录都可以,但它仍然不起作用.奇怪.

c# stack-overflow dll c++-cli

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

PathGeometry的非GUI替代方案?

我有两个巨大的(> 100000项)PathGeometry集合我需要使用PathGeometry.Combine进行比较,如下所示:

List<PathGeometry> firstList;
List<PathGeometry> secondList;
[...]

foreach (PathGeometry pg1 in firstList)
  foreach (PathGeometry pg2 in secondList)
  {
    PathGeometry intergeo = PathGeometry.Combine(pg1, pg2, GeometryCombineMode.Intersect, null);
    if (intergeo.GetArea() > 0)
    {
      // do whatever with intergeo.GetArea()
    }
  }
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,PathGeometry是GUI的一部分并使用调度程序,它有时会导致问题,因为我的计算在没有GUI的情况下在一些后台线程中运行使用Parallel.ForEach()

所以我正在寻找一种没有连接到GUI的PathGeometry的替代品.
我的数字非常复杂,并为PathGeometry.Figures添加了很多PathFigures.

我自己从一些臃肿的政府xml文件创建那些PathGeometries,所以创建其他东西也没有问题.但是我需要一个函数来创建这些几何中的两个(不是相互添加)的交集,以获得两个几何所覆盖的区域,例如此图中的红色区域:

在此输入图像描述

c# wpf .net-4.0 pathgeometry

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

使用转义引号将SQL数据库批量导出为CSV

我正在寻找一种批量导出SQL Server表到csv文件的方法.

有一些使用sqlcmd或bcp的解决方案,但到目前为止,我找不到任何正确转义引号,逗号或换行符的解决方案.

例如,此命令创建一个不错的csv,但忽略了引号和逗号,这使得csv文件无法使用:

bcp MyDatabase..MyTable out c:\test.csv -c -T -t, -r\n -S MYPC
Run Code Online (Sandbox Code Playgroud)

从我的四行示例数据中,每行包含一些其他特殊字符,这将创建一个这样的文件:

1,contains " quote
2,contains , comma
3,contains ; semi
4,contains ' single quote
Run Code Online (Sandbox Code Playgroud)

由于引号和逗号,其他程序无法导入.当然,我可以改变分离器标签或管道符号,但是这不能解决真正的问题:无论分隔符是,如果它的数据存在,它会使导出文件不可用.

那么如何使用标准SQL工具(如BCP,sqlcmd或类似工具)批量导出批量数据到工作的csv文件?

sql-server csv batch-file

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

在 xunit 中结合 Class Fixture 和 Collection Fixture

为了在 xunit 中运行 Protractor 端到端测试,我想在 xunit 中结合Class Fixtures 和 Collection Fixtures
我创建了一个集合装置DatabaseServerFixture[Collection]来运行数据库和服务器,因此数据库和 Web 服务始终可用于所有测试,并且数据库/服务器设置仅对所有测试进行一次,以加快执行速度。
我已经设置了一秒钟BrowserFixture在一个类中的所有测试之间共享一个浏览器实例,因为我希望能够并行运行来自不同类的测试,每个类都拥有自己的浏览器类。

问题是:我需要引用BrowserFixture在我的测试类中使用的 ,所以我不能引用DatabaseServerFixture. 并且由于DatabaseServerFixture从未引用过,因此未创建 => 没有数据库,因此所有测试都失败了。

我不需要能够DatabaseServerFixture从我的测试中访问,但我需要它在所有测试之前启动。即使我似乎没有在任何地方使用它,我如何让 xunit 启动它?

我尝试创建一个使用 的虚拟测试DatabaseServerFixture,但它没有为其他测试运行,所以它没有帮助。

c# testing xunit end-to-end protractor

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

在 Angular2 组件中嵌入 pdf

在 angular 4.3 中,我想打开一个模态弹出窗口并显示一个嵌入的 pdf 文件,如下所示:https : //pdfobject.com/static.html

我使用了这个答案中模态弹出组件,它可以很好地弹出。我的模态测试 html 如下所示:

<a class="btn btn-default" (click)="setContent();modal.show()">Show</a>
<app-modal #modal>
  <div class="app-modal-header">
    Testing pdf embedding
  </div>
  <div class="app-modal-body">
    <div class="embed-responsive" *ngIf="ContentUrl">
      <object [attr.data]="ContentUrl"
              type="application/pdf"
              class="embed-responsive-item">
        <embed [attr.src]="ContentUrl"
               type="application/pdf" />
      </object>
    </div>
    <p><a [href]="ContentUrl">PDF Download</a></p>
  </div>
  <div class="app-modal-footer">
    <button type="button" class="btn btn-default" (click)="modal.hide()">Close</button>
  </div>
</app-modal>
Run Code Online (Sandbox Code Playgroud)

在我的组件中,我ContentUrl是这样设置的:

public ContentUrl: SafeUrl;
public setContent() {
    this.ContentUrl = this._sanitizer.bypassSecurityTrustResourceUrl("/img/test.pdf");
}
Run Code Online (Sandbox Code Playgroud)

弹出窗口很好地打开,但它没有显示嵌入的 pdf。它甚至不会尝试从服务加载 url。下载链接运行良好,并询问是否应将 pdf 保存到光盘或打开。
我也尝试将 pdf 嵌入弹出窗口之外也无济于事。
我尝试了 Chrome、Edge 和 …

pdf angular

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