小编Pet*_*eed的帖子

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

如何使用动态Linq实现tsql"IN"等效

我正在创建一个可以接收任何Linq查询的通用表单(C#).在这种形式中,我希望能够添加过滤器(WHERE子句).对于像"=",">","喜欢"等操作员,我可以做类似的事情IQueryable.Where(someFieldname + "> @0", someCriteria).但是,当我想能够做相当于T-sql"IN"时,我完全迷失了.我已经搜索了几个小时,但找不到实现它的方法.

在考虑它时,应该可行的方法是将IN子句的值放在字符串数组或其他简单的字符串列表中.然后使用基本查询加入此列表.但是,当基本查询可以是任何查询时,如何加入这两个?

示例:假设我的基本查询类似于:

IQueryable<Object> q = from a in db.Adresses
                       select new { a.Street, a.HouseNr };
Run Code Online (Sandbox Code Playgroud)

在我希望能够像这样过滤HouseNr的形式:Where HouseNr IN(1,3,5)数字(1,3,5)在字符串数组(或任何其他字符串列表)中可用.

我怎么能实现这一点,知道基本查询可以是什么?

c# linq dynamic linq-to-sql

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

是否可以删除AWS ElastiCache Redis集群上的所有密钥?

我正在尝试删除AWS ElastiCache集群中的所有键/值,但是当我正在执行flushallflushdb从redis-cli中执行操作时,它只会删除当前连接到的节点中的值。

我正在寻找一个可以删除集群中所有节点的所有密钥的命令。我可以运行cluster nodes,获取主节点列表,分别连接到每个主节点,然后运行flushdb,但这要调用有效的TRUNCATE命令似乎有很多开销。有更简单的方法吗?

amazon-web-services redis amazon-elasticache redis-cli

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

WPF ComboBox清楚

我有两个单选按钮.如果我检查第一个单选按钮以下数据将填充在组合框中.之后,我将检查另一个单选按钮,我想清除组合框值.

<RadioButton Height="29"
             HorizontalAlignment="Left"
             Margin="143,193,0,0" Name="rdoEmployee" VerticalAlignment="Top" Width="61"
             FontSize="20"  Checked="rdoEmployee_Checked" GroupName="rdoEmployee/>

<RadioButton FontSize="20" Height="20" Margin="228,193,0,0" Name="rdoPA" 
             VerticalAlignment="Top" HorizontalAlignment="Left" Width="49"  
             Checked="rdoPA_Checked" GroupName="rdoEmployee />

<ComboBox HorizontalAlignment="Left" Margin="142,235,0,240" 
          Name="cmbEmpType" Width="200" FontSize="16" />
Run Code Online (Sandbox Code Playgroud)
EmployeeTypes _ET = new EmployeeTypes();
DataRowCollection drc = _ET.EmpTypeTable.Rows;
foreach (DataRow r in drc)
{
    ComboBoxItem item = new ComboBoxItem();
    item.Tag = r["EmpTypeID"];
    item.Content = r["EmpTypeName"];

    cmbEmpType.Items.Add(item);

    if (cmbEmpType.Items.Count > 0)
    {
        cmbEmpType.SelectedIndex = 0;
    }

}
Run Code Online (Sandbox Code Playgroud)

wpf

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

(反向)递归查询

我们有一个角色继承结构,而不是最高级别的过滤,它假设默认情况下每个人都获得最低级别的角色,图形描述如下:

role.Everyone //lowest level; everyone gets this role
  role.Applications // everyone assigned this role gets applications && everyone roles
    role.Databases // everyone assigned this role gets databases && applications && everyone roles
    role.SoftwareSubscriber
  role.Client_All // etc.
    role.Client
    role.ITClient
  role.Client
    role.NewsService // everyone assigned this role gets NewsService && Client && Everyone
                     // && Client_All roles, since Client is also a child of Client_All
    role.ClientDeliverable // etc.
  role.Employee
    role.Corporate
    role.Marketing
  role...
  ...
Run Code Online (Sandbox Code Playgroud)

我会检索所有“父母”(真的,孩子,但无论如何)和他们任何给定角色的递归父母。例如,我希望有一个查询要求 的父母role.Databases返回role.Applicationsrole.Everyone。同样,我期望的父母要求查询role.NewsService …

sql t-sql common-table-expression sql-server-2008

3
推荐指数
1
解决办法
3118
查看次数

EntityName枚举

要对Microsoft Dynamics CRM执行查询,必须传递某些实体名称以过滤结果.但是,使用.NET Framework 4,我没有EntityName枚举,尽管它应该是公共的.这是为什么?

以下是我想念的内容:http://msdn.microsoft.com/en-us/library/bb959317.aspx

c# enums entity dynamics-crm-2011

3
推荐指数
1
解决办法
1386
查看次数

使用MERGE的算术溢出错误(数字到数字):SQL Server错误?

我有一个TargetTableDECIMAL(20, 7)列的目标表.我也有一个SourceTable包含DECIMAL(20, 7)列的源表,但是这个表中的值都是整数.

当我尝试将数据UPSERT成TargetTableSourceTable通过MERGE声明,我得到一个标准错误.

算术溢出错误将数字转换为数据类型数字.

我真的不明白为什么会发生这种情况,因为两种数据类型都是相同的.

但奇怪的是:当我使用SELECT INTOon TargetTable来创建测试表TestTable,然后将合并的目标更改为TestTable,upsert完成.我也弄不明白为什么会是这样,因为TargetTableTestTable是大部分相同.

有没有人遇到过这个,这是一个错误,还是有一些我不知道的SQL Server的细微差别?


示例代码:

失败:

SET NUMERIC_ROUNDABORT Off
GO

MERGE
    TargetTable Target
USING
    (
        SELECT
            cast(forecast as DECIMAL(20, 7)) forecast
          ,[SegmentID]
          ,[Country]
          ,[Environment]
          ,[YearColumn]
          ,[ForecastYear]
          ,[Criterion]
        FROM
            SourceTable
    ) Source
    ON
    (
        Target.SegmentID = Source.SegmentID
        AND Target.Country = Source.Country
        AND Target.Environment = Source.Environment
        AND Target.YearColumn = …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

3
推荐指数
1
解决办法
1988
查看次数

通过API将参数传递给CRM 2011 Workflow

我的工作流程有"提示和响应"对话框.我可以使用API​​运行工作流程ExecuteWorkflowRequest但是如何为提示和响应输入提供值?

workflow crm dynamics-crm dynamics-crm-2011

3
推荐指数
1
解决办法
4274
查看次数

为什么我们不直接调用事件?

我见过许多开发人员想要调用Event它们将它分配给一个名为的本地变量handler并调用handler而不是Event直接调用.为什么我们不直接调用事件?

private void OnSomethingChanged(EventArgs e)
{
    if (SomethingEvent != null)
    {
        SomethingEvent(this, e);
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# events event-handling

3
推荐指数
1
解决办法
137
查看次数

无法在列集中为检索指定子属性

在尝试合并 Microsoft CRM 中的联系人时,我使用了以下代码 -

//c1ID and c2ID are GUIDs of duplicated contacts.

EntityReference target = new EntityReference();
target.LogicalName = Contact.EntityLogicalName;

target.Id = c2ID;

MergeRequest merge = new MergeRequest();
// SubordinateId is the GUID of the account merging.

merge.SubordinateId = c1ID;
merge.Target = target;
merge.PerformParentingChecks = true;

Contact updater = new Contact();
Contact updater2 = new Contact();

updater = (Contact)xrmSvc.ContactSet.Where(c => c.ContactId.Equals(c1ID)).First();
updater2 = (Contact)xrmSvc.ContactSet.Where(c => c.ContactId.Equals(c2ID)).First();

MergeResponse mergedR = (MergeResponse)xrmSvc.Execute(merge);
Run Code Online (Sandbox Code Playgroud)

当我在这里尝试执行 Execute 调用时,出现此错误 -

无法在列集中为检索指定子属性。属性:所有者名称。

我没有正确设置吗?

dynamics-crm dynamics-crm-2011

3
推荐指数
1
解决办法
3710
查看次数