Dapper(这似乎是最快,最流行的"微型ORM工具")之间存在一些性能比较.现在是2014年9月,我们有实体框架6(不是5或4),Dapper仍然存在.
我们将开始开发一个庞大的数据库n层应用程序(数据库有700个表).并且需要运行的一些查询对时间非常敏感.
谢谢!
我有一个列"名称",必须是unqiue.没有外国钥匙或类似的东西.
EF 6.1最终支持通过Annotations创建此类索引.已在SO上讨论过这个问题.但它似乎只能通过类中的注释来完成.如何仅使用Fluent API执行此操作?
像这样的东西:
public class PersonConfiguration : EntityTypeConfiguration<Person>
{
public PersonConfiguration()
{
HasKey(p => p.Id);
Property(p => p.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
//not possible?
Index(p => p.Name).IsUnique(); //???
}
}
Run Code Online (Sandbox Code Playgroud) .net c# entity-framework fluent-interface entity-framework-6
我正在尝试使用ElementName和Path 将控件绑定到父级的Height/width属性.但是,我不想绑定到实际高度,而是高度的一半.在能Path表达自己算算?
例如 Path={ActualHeight/2}
我找不到办法做到这一点.还有其他聪明的方法吗?
谢谢!
我有一个ListBox,我的ItemsPanel替换为WrapPanel.WrapPanel现在托管数据绑定ListboxItems.每个项目中都有一个可变大小的文本,为每个项目提供不同的宽度.但是,我希望宽度保持不变,以便所有项目的宽度与文本最长的项目相同.那可能吗?
我已经在CodeProject上发表了一篇文章,解释了如何使用RSA提供程序加密和解密:
虽然2009年的旧版本是错误的,但新的2012版本(支持System.Numerics.BigInteger)似乎更可靠.这是什么版本缺少虽然是一种方法加密与公共密钥和解密使用私有密钥.
所以,我自己尝试了,但是当我解密时却得到了垃圾.我不熟悉RSA提供商,所以我在这里很黑.很难找到关于它应该如何工作的更多信息.
有人看到这有什么问题吗?以下是带有PUBLIC密钥的ENcryption:
// Add 4 byte padding to the data, and convert to BigInteger struct
BigInteger numData = GetBig( AddPadding( data ) );
RSAParameters rsaParams = rsa.ExportParameters( false );
//BigInteger D = GetBig( rsaParams.D ); //only for private key
BigInteger Exponent = GetBig( rsaParams.Exponent );
BigInteger Modulus = GetBig( rsaParams.Modulus );
BigInteger encData = BigInteger.ModPow( numData, Exponent, Modulus );
return encData.ToByteArray();
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我是否使用提供商提供的大"D"?可能不是因为它是没有"D"的公钥.
然后是对应的(使用PRIVATE键进行DEcrypting):
BigInteger numEncData = new BigInteger( cipherData …Run Code Online (Sandbox Code Playgroud) 我理解签署程序集背后的基本思想,但在使用Telerik或第二方DLL时遇到问题.我有一个使用我自己的.DLL的.exe,这些DLL依次使用企业库DLL和Telerik DLL.
我为我的所有项目提供了一个强大的名称.snk,但是在编译时,编译器解释说企业库DLL没有签名,这是有道理的.
我不想用te sn.exe -Vr命令关闭验证,甚至延迟签署我的项目.但那怎么会起作用呢?我很感激任何见解.
我有一个T-SQL查询,我想要将所有负数量清零.
SELECT
p.productnumber,
v.[Description],
SUM(i.Quantity) as quantity
FROM ...
LEFT JOIN ...
LEFT JOIN ...
LEFT JOIN ...
GROUP BY productnumber, [Description]
Run Code Online (Sandbox Code Playgroud)
基本上如果总和由5,5,-1组成,则结果应为5 + 5 + 0 = 10,而不是(5 + 5 +( - 1)= 9.
我该怎么办?
我们正在开发一种点对点通信软件,允许一些杂货店将他们的库存与我们称之为"总部"的库存同步.为此,我们考虑WCF + WPF,没有IIS和Web服务.我对WCF的体验基本上是零,所以我的问题是使用WCF的TCP comm解决方案是否有效.正在传输的数据非常有限,对于压缩的纯文本文件大约2MB(因此我们发送二进制数据!),这仅在每天进行一次.因此,带宽/负载不应成为问题.此时的想法是在HQ上运行WCF"服务器".商店让自己知道该服务器,然后来回发送文件(类似于聊天应用程序).我不确定的是:每家商店都需要有一个WCF"服务器"(或端点)吗?服务器(= HQ)如何将文件发送到其中一个客户端(=商店)?每个商店都可以将文件发送到任何其他商店和总部,每个商店也可以"请求"来自任何其他商店/总部的文件.
两个限制:由于预算原因,所涉及的机器/计算机都不能运行Windows服务器,并且如之前所述,IIS是不可行的.
我控制了一下
class DragGrid:Grid {...}
它继承自原始网格,并允许拖动和调整其子元素的大小.我需要将一个自定义DP绑定WorkItemsProperty到一个可观察的类型集合WorkItem(implements INotifyPropertyChanged).网格中的每个元素都绑定到一个集合项.
每当用户在运行时动态添加新项目(无法在XAML中声明项目!),或从该集合中删除项目时,WorkItems应更新DragGrid上的DP,以及网格中的子项(每个子项代表一个项目)WorkItem收集项目).
我的问题是DP如何通知控件必须删除网格中的哪个子元素,更改('更改'表示用户拖动元素,或用鼠标调整大小)或添加,以及如何识别哪一个现有的子项是需要删除或更改的子项.我知道这是DependencyPropertyChangedCallback的用武之地.但是只有在重新设置DP属性时才会调用它,而不是在集合中的某些内容发生更改时(如add,remove item).那么最后,DragGrid控件是否需要订阅CollectionChanged事件?在什么时候我会为此事件处理程序挂钩?
*编辑:: 首先使用网格的原因是因为我希望能够在用户拖动或调整网格中的控件时保持最小增量.控件表示时间跨度,每个网格列表示15分钟(这是最小值).使用Thumbs在Canvas中执行此操作非常困难且错误.实现DragGrid解决了我的用户交互问题.此外,Canvas不可扩展,因此时间跨度必须不断重新计算.使用网格,我没有问题,因为列无论大小都告诉我时间.**
c# data-binding wpf dependency-properties observablecollection
我们有一个.NET Windows服务,以事务方式从A到B挖掘大量高度关键数据.我们还需要确保服务中使用的所有外部组件都未正确分配,并在关闭服务本身之前清除所有内容.这可能需要几个小时!原因是服务需要等待外部组件的回调,该回调在2,3或4小时后到达.
- Windows可以等待这么长时间才能使服务正常关闭吗?
- 在服务中有哪些选项我可以指示当操作系统关闭服务时会发生什么,例如完全阻止关闭?
- 另外,作为另一种情况,如果服务器需要重启会发生什么?可以等几个小时的服务吗?
- 操作系统在杀死服务之前等待服务的时间有多长?
c# ×8
.net ×6
wpf ×4
data-binding ×2
cryptography ×1
dapper ×1
gac ×1
group-by ×1
listbox ×1
orm ×1
performance ×1
rsa ×1
shutdown ×1
snk ×1
sql ×1
sql-server ×1
t-sql ×1
tcp ×1
wcf ×1
wrappanel ×1