假设我有这些类:
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和刚做了一个列表SecondProperty4和SecondProperty5?
就像是:
myClass.Select(x=> new { Property1 …Run Code Online (Sandbox Code Playgroud) 我有一个具有自托管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)
虽然在许多情况下听起来好像是好事.
我有以下代码:
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) 我有一个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
有没有人知道如何在Visual Studio 2010中添加对"C:\ Windows\SysWOW64\mqoa30.tlb"的引用,就像在Visual Studio 2008中一样?
如果我转到添加引用,并浏览到此文件:"C:\ Windows\SysWOW64\mqoa30.tlb"这些是不同的结果:
Visual Studio 2008

添加就好了
并创建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.)
如果您知道如何添加参考,请告诉我?
我需要将行行插入数据库,然后在另一个线程中读取这些行然后(在单独的调用中删除它们).
通常我会为此突破实体框架.但我需要快速.真的很快
一排将是bigint,bigint和varchar(max).
实体框架有更快的方式吗?如果是这样,它是什么?
(我反对SQL Server 2008 R2)
我需要一种方法来在我的 ssis 包结束时执行存储过程。
不管是失败还是成功。
有没有办法在不连接每个任务的失败事件的情况下做到这一点?我一直在寻找 OnPackageEnd 事件或其他东西,但我看不到它。
你们有什么想法吗?
注意:我阅读了这个问题及其答案:HorizontalAlignment=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 实现吗?
如果我有这样的控件:
<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) 我正在考虑从 MSMQ 转到 RabbitMQ。
我正在玩它并想查看队列中的消息(通常使用 MSMQ 很容易)。
RabbitMQ 有点难,但我让它工作了。但是帮助文本说:
此外,消息有效负载将被截断为 50000 字节。
这还不到 0.05 MB!我的有效载荷比这大得多。
所以这是我的问题,它是否只是为了查看而截断,还是为了放回队列中的消息而截断?
另外,这个限制可以配置吗? 调试时,我经常需要查看完整消息。
.net ×4
c# ×3
sql-server ×3
wpf ×2
xaml ×2
alignment ×1
closures ×1
linq ×1
msdtc ×1
nservicebus ×1
performance ×1
projection ×1
rabbitmq ×1
resharper ×1
sql ×1
ssis ×1