小编Vac*_*ano的帖子

使用linq使用列表对匿名类进行投影

假设我有这些类:

public MyClass
{
   public Property1 {get; set;}
   public Property2 {get; set;}
   public Property3 {get; set;}
   public Property4 {get; set;}
   public Property5 {get; set;}
   public Property6 {get; set;}
   public Property7 {get; set;}
   public Property8 {get; set;}
   public List<MySecondClass> MyList {get; set;}
}

public MySecondClass
{
   public SecondProperty1 {get; set;}
   public SecondProperty2 {get; set;}
   public SecondProperty3 {get; set;}
   public SecondProperty4 {get; set;}
   public SecondProperty5 {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

假设一切都被实例化,我将如何使用LINQ做,只是有一个投影Property1,并Property2和刚做了一个列表SecondProperty4SecondProperty5

就像是:

myClass.Select(x=> new { Property1 …
Run Code Online (Sandbox Code Playgroud)

c# linq projection

2
推荐指数
1
解决办法
3245
查看次数

从NServiceBus方法调用实体框架会导致错误

我有一个具有自托管WCF服务的解决方案.该服务连接到EF,可以读写.

在同一解决方案中,我还托管了一个NServiceBus端点.它从单独的运行解决方案中获取事件.

当我运行NServiceBus项目(单独)时,似乎工作正常,直到我尝试查询我的数据库.当我这样做时,我得到这个EntityException:

底层提供程序在Open上失败.

内部异常是TransactionException,消息为:

合作伙伴事务管理器已禁用其对远程/网络事务的支持

我的NServiceBus和WCF服务项目都使用完全相同的配置和EF项目.我不明白为什么一个失败而另一个失败.

我做了一些谷歌搜索并遇到了这个页面:http://msdn.microsoft.com/en-us/library/aa561924%28BTS.20%29.aspx向我展示了如何设置MSDTC,我在我的客户端上做到了机.但它没有效果.

我还发现这个问题需要设置:NServiceBus:System.Transactions.TransactionException:合作伙伴事务管理器已禁用其对远程/网络事务的支持.但它没有说明为什么或在哪里.

我是否需要在数据库服务器上设置MSDTC?如果是这样,为什么?什么是MSDTC?

为什么从NServiceBus托管进程运行会导致此错误?

更新:我发现这个链接帮助我了解DTC的作用.它还告诉我如何在需要时将其关闭:

using (TransactionScope sc=new TransactionScope(TransactionScopeOption.Suppress))
     YourDatabaseHandler.SaveMyStuff(whatever);
Run Code Online (Sandbox Code Playgroud)

虽然在许多情况下听起来好像是好事.

msdtc entity-framework nservicebus

2
推荐指数
1
解决办法
1832
查看次数

ToList()删除需要解决"访问修改后的关闭"resharper警告吗?

我有以下代码:

foreach (var parent in parents)
{
    var children = data.Find<Order>(x=>x.ParentOrderId==parent.OrderId).ToList();
    // Do stuff with the children variable
}
Run Code Online (Sandbox Code Playgroud)

Resharper告诉我,父变量上有一个Access to Modified closure问题.但是不调用ToList()意味着它会立即被评估吗?

这是否否定了这样做的必要性?

foreach (var parent in parents)
{
    var parentClosure = parent;
    var children = data.Find<Order>(x=>x.ParentOrderId==parentClosure.OrderId).ToList();
    // Do stuff with the children variable
}
Run Code Online (Sandbox Code Playgroud)

.net c# resharper closures

2
推荐指数
1
解决办法
392
查看次数

低权限用户执行存储过程时的表权限

我有一个client.UpdateClient由 SQL 用户(称为MyWCFServicesUser.

MyWCFServicesUser具有数据库的数据读取者和数据写入者权限。它还具有存储过程的执行权限(但没有其他权限)。

client.Client存储过程将在with中插入一行SET IDENITY_INSERT client.Client ON

当我运行带有集成安全性的存储过程(来自 SSMS)时(我是sa),一切正常。

MyWCFServicesUser当我(从 SSMS)运行它时,它失败并出现以下错误:

消息 1088,级别 16,状态 11,过程 UpdateClient,第 33 行
找不到对象“client.Client”,因为它不存在或您没有权限。

我通常将所有存储过程和表都放在默认 (dbo) 模式中,但这次我尝试不使用 dbo。

这就是我没有权限的原因吗?我需要以某种方式提升存储过程吗?还是用户?或者以某种方式改变架构?

我很困惑...

sql-server database-permissions sql-server-2008 sql-server-2008-r2

2
推荐指数
1
解决办法
8162
查看次数

如何在Visual Studio 2010中添加Iterop,就像在Visual Studio 2008中一样

有没有人知道如何在Visual Studio 2010中添加对"C:\ Windows\SysWOW64\mqoa30.tlb"的引用,就像在Visual Studio 2008中一样?

如果我转到添加引用,并浏览到此文件:"C:\ Windows\SysWOW64\mqoa30.tlb"这些是不同的结果:

Visual Studio 2008

添加就好了
添加就好了

创建Interop

并创建Interop的东西

Visual Studio 2010

不添加

搜索引擎优化的明文错误信息:

Could not add a reference to C:\Windows\SysWOW64\mqoa30.tlb
Could not load file or assembly 'mqoa30.tlb' or one of its dependencies. The module was expected to contain an assembly manifest.
This file may not be a managed assembly.
Run Code Online (Sandbox Code Playgroud)

无法从"添加引用"对话框中添加,并且"Microsoft Messaging Queue 3.0类型库"未在COM类型库中列出.

(注意:我安装了MSMQ并且工作正常(通过NServiceBus).我正在运行Windows 7.)


如果您知道如何添加参考,请告诉我?

visual-studio-2010

2
推荐指数
1
解决办法
1280
查看次数

最有效的方法是将数据写入,读取和删除(不更新)到.net中的SQL Server数据库

我需要将行行插入数据库,然后在另一个线程中读取这些行然后(在单独的调用中删除它们).

通常我会为此突破实体框架.但我需要快速.真的很快

一排将是bigint,bigintvarchar(max).

实体框架有更快的方式吗?如果是这样,它是什么?

(我反对SQL Server 2008 R2)

.net sql sql-server performance

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

包结束时的 SSIS 事件(或其他)

我需要一种方法来在我的 ssis 包结束时执行存储过程。

不管是失败还是成功。

有没有办法在不连接每个任务的失败事件的情况下做到这一点?我一直在寻找 OnPackageEnd 事件或其他东西,但我看不到它。

你们有什么想法吗?

sql-server ssis sql-server-2008

2
推荐指数
1
解决办法
2619
查看次数

Horizo​​ntalAlignment 设置为 Stretch AND Left 的文本框

注意:我阅读了这个问题及其答案:Horizo​​ntalAlignment=Stretch、MaxWidth 和 Leftalignment at the same time? 。他们都没有做我正在寻找的事情。


我有以下 xaml:

<Grid ShowGridLines="True" x:Name="_testGrid" Height="30" >
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"></ColumnDefinition>
    <ColumnDefinition Width="*"></ColumnDefinition>
    <ColumnDefinition Width="*"></ColumnDefinition>
  </Grid.ColumnDefinitions>

  <TextBox Text="Text 1" HorizontalAlignment="Stretch"
          MaxWidth="75" Margin="5"/>
  <TextBox Grid.Column="1" Text="Text 2" Margin="5"                 
       HorizontalAlignment="Stretch" MaxWidth="130"/>
  <TextBox Grid.Column="2"  Text="Text 3" Margin="5"               
       HorizontalAlignment="Stretch" MaxWidth="100"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

它产生这个:

三个文本框位于其列的中心

此设置具有很好的调整大小支持。如果窗口缩小,则文本框也会缩小。

唯一的问题是我需要它们保持对齐:

显示我想要文本框的位置

我看到的所有解决方案最终都会砍掉文本框的一部分(而不是缩小它)。

我正在寻找的东西可以通过 WPF 实现吗?

.net wpf xaml alignment

2
推荐指数
1
解决办法
3013
查看次数

更改WPF网格以使原点位于左下角

如果我有这样的控件:

<Grid ShowGridLines="True">  
  <Grid.ColumnDefinitions>
    <ColumnDefinition/>
    <ColumnDefinition/>
    <ColumnDefinition/>
  </Grid.ColumnDefinitions>
  <Grid.RowDefinitions>
    <RowDefinition/>
    <RowDefinition/>
    <RowDefinition/>
  </Grid.RowDefinitions>

  <TextBlock Grid.Column="0" Grid.Row="0" Text="One, One" />
  <TextBlock Grid.Column="0" Grid.Row="1" Text="One, Two" />
  <TextBlock Grid.Column="0" Grid.Row="2" Text="One, Three" />
  <TextBlock Grid.Column="1" Grid.Row="0" Text="Two, One" />
  <TextBlock Grid.Column="1" Grid.Row="1" Text="Two, Two" />
  <TextBlock Grid.Column="1" Grid.Row="2" Text="Two, Three" />
  <TextBlock Grid.Column="2" Grid.Row="0" Text="Three, One" />
  <TextBlock Grid.Column="2" Grid.Row="1" Text="Three, Two" />
  <TextBlock Grid.Column="2" Grid.Row="2" Text="Three, Three" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

我会得到一个看起来像这样的网格:

___________________________________________  
| One, One   | Two, One   |  Three, One   | …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf xaml

2
推荐指数
1
解决办法
495
查看次数

RabbitMQ 在查看时会截断到 50,000 字节?

我正在考虑从 MSMQ 转到 RabbitMQ。

我正在玩它并想查看队列中的消息(通常使用 MSMQ 很容易)。

RabbitMQ 有点难,但我让它工作了。但是帮助文本说:

此外,消息有效负载将被截断为 50000 字节。

这还不到 0.05 MB!我的有效载荷比这大得多。

所以这是我的问题,它是否只是为了查看而截断,还是为了放回队列中的消息而截断?

另外,这个限制可以配置吗? 调试时,我经常需要查看完整消息。

rabbitmq

2
推荐指数
1
解决办法
2015
查看次数