小编Geo*_*kos的帖子

你如何将Linq扩展到SQL?

去年,Scott Guthrie 表示 "如果你想要对执行的SQL进行绝对控制,你实际上可以覆盖LINQ to SQL使用的原始SQL",但我找不到描述可扩展性方法的文档.

我想修改以下LINQ to SQL查询:

using (NorthwindContext northwind = new NorthwindContext ()) {
    var q = from row in northwind.Customers
            let orderCount = row.Orders.Count ()
            select new {
                row.ContactName,
                orderCount
            };
}

这导致以下TSQL:

SELECT [t0].[ContactName], (
    SELECT COUNT(*)
    FROM [dbo].[Orders] AS [t1]
    WHERE [t1].[CustomerID] = [t0].[CustomerID]
    ) AS [orderCount]
FROM [dbo].[Customers] AS [t0]

至:

using (NorthwindContext northwind = new NorthwindContext ()) {
    var q = from row in northwind.Customers.With (
                        TableHint.NoLock, TableHint.Index (0))
            let orderCount = …

linq linq-to-sql

11
推荐指数
1
解决办法
5368
查看次数

Azure Service Fabric中的Actor和Service项目之间的行为差​​异

Actor项目中,该AssemblyVersionAttribute值用于更新ServiceManifest版本以及代码和配置版本.服务项目没有这种行为.

此更新版本还用于更新中ServiceManifestRefServiceManifestVersion引用ApplicationManifest.虽然ApplicationManifest是在每次构建修改,它不会出现内手动设置的版本服务项目ServiceManifest是在更新后的ApplicationManifest任一.

这是服务项目的计划或预期行为吗?

我正在运行Visual Studio 2015 RC,Service Fabric SDK的第一个预览版和NuGet包的4.0.95-preview1.

azure-service-fabric

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

在PowerShell中订阅对象的静态事件的语法是什么?

Register-ObjectEvent在必需参数InputObject中查找对象实例.对象的静态(共享)事件的语法是什么?

更新:更正TimeChanged的语法:

$systemEvents = [Microsoft.Win32.SystemEvents]
$timeChanged = Register-ObjectEvent -InputObject $systemEvents
-EventName 'TimeChanged' -Action { Write-Host "Time changed" }
Run Code Online (Sandbox Code Playgroud)

不幸的是,系统事件不会在PowerShell ISE中发出信号.以下是使用对象的staic事件的示例:

$networkInformation = [System.Net.NetworkInformation.NetworkChange];
$networkAddressChanged = Register-ObjectEvent -InputObject $networkInformation 
-EventName 'NetworkAddressChanged' 
-Action { Write-Host "NetworkAddressChanged event signaled" }
Run Code Online (Sandbox Code Playgroud)

powershell events powershell-2.0

7
推荐指数
1
解决办法
1216
查看次数

BadImageFormatException 遇到 WcfSvcHost 和 IIS WCF 主机

引用 x86 DLL 时,在 Vista x64 上的 Visual Studio 2008 中创建 WCF 服务库很麻烦。调用 32 位 DLL 的服务需要具有 x86 平台目标才能在 64 位操作系统上运行。执行此操作时,WcfSvcHost 会在您尝试调试服务时引发 BadImageFormatException。有一个关于 MS 连接的错误报告。我使用的解决方法是将WcfSvcHost 核心标记为 32-bit

清单问题

我遇到的主要问题是这个第三方本机 32 位 DLL 无法使用某些 WCF 主机加载。当调用使用第三方 DLL的服务操作时,我收到以下错误:

System.TypeInitializationException: '' 的类型初始值设定项引发异常。

.ModuleLoadExceptionHandlerException:在导致 C++ 模块无法加载的主要异常之后发生嵌套异常。

System.BadImageFormatException:该模块应包含程序集清单。(来自 HRESULT 的异常:0x80131018)

嵌套异常:

句柄无效。(来自 HRESULT 的异常:0x80070006 (E_HANDLE))

WcfSvcHost 启动时不会引发此异常,而是在调用引用 32 位 DLL 的服务操作时引发。非常有趣的是,在控制台应用程序上使用相同的 app.config 托管相同的服务没有例外并且可以完美运行:

using (ServiceHost host = new ServiceHost (typeof (MsgBrokerService))) {
    host.Open ();
    Console.WriteLine ("running");
    Console.ReadLine …
Run Code Online (Sandbox Code Playgroud)

c++ wcf interop iis-6 was

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

ViewModel中的RoutedUICommand与ICommand以及使用InputBinding

基本的ICommand接口实现(例如DelegateCommand和RelayCommand)缺少RoutedCommand类中包含的InputGestures属性。此属性支持绑定到KeyGesture,并且RoutedUICommand中的Text属性支持设置控件的标头。例如:

<MenuItem Header="File">
  <MenuItem Command="Open" />
Run Code Online (Sandbox Code Playgroud)

结果是在File(文件)菜单项下标记为“ Open Ctrl + O”的菜单项。对于手势,InputBindings会将输入来宾映射到命令,但是您松开了InputGestureText支持。

在为XAML或视图模型中的命令定义KeyGestures和Text时,如何保持绑定到视图模型的ICommand的简单性?例如,我希望在上下文菜单和主菜单中显示的命令显示与RoutedUICommand支持的相同的Header和InputGestureText,但是该命令的实现位于视图模型内部,而不位于Window后面的代码内部。

data-binding wpf xaml icommand

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