我正在尝试创建一个LINQ语句,其中where子句来自变量.例如:
string whereClause = address.zip == 23456;
var x = from something in someList where whereClause;
Run Code Online (Sandbox Code Playgroud)
这可能吗?我似乎无法让它发挥作用.
谢谢,
更新 - 我的where子句是预定义的,将基于用户输入,所以我不认为这对我有用.基本上whereClause不是在方法中构造的,它是执行LINQ的方法的参数.我没有解释好这里是一个更好的例子:
public void doLnq(string whereClause)
{
var x = from something in someList where whereClause;
dowork(x);
}
Run Code Online (Sandbox Code Playgroud)
更新 - 只是总结一些建议并集中所有内容.
我不能使用开关来生成where子句,因为有很多可能性.
你们中的一些人发布的动态linq帖子确实看起来很有希望,但是我遇到麻烦将linq与sql示例相关联到我的linq to objects问题.
通过msdn查看和@sLaks http://msdn.microsoft.com/en-us/library/bb353734.aspx我无法确定你在哪里使用AsQueryable
谢谢,
我无法找到解决问题的最佳方法,请记住,我愿意接受更好的方法来完成这项任务.
我需要做的是,在我的表中的行值更新后,我需要使用该表中的2个字段作为控制台应用程序的参数.现在我可以通过在表上设置触发器然后使用xp_cmdshell带参数运行应用程序来实现此目的.但是我需要异步执行此操作,因此我的存储过程在等待控制台应用程序完成时不会挂起.
也许我会以错误的方式解决这个问题.
我正在使用SQL Server 2008
编辑 - Andriy M的答案似乎是目前最好的,但正如评论中所述,我需要一种方法来实现"即时".是否可以从SP或触发器调用作业?或者可能是另一种获得类似结果的方法?
感谢大家的帮助.
编辑 - 我选择他回答下面因为它帮助我找到了更好的解决方案.我最终做的是创建一个工作,只是查询我的表与另一个跟踪更新的行.然后,当我有我需要更新的行时,我使用xp_cmdshell运行我的应用程序与指定的参数.到目前为止,这个解决方案似乎运作顺利.
我正在尝试获得4个List深度列表集合List<List<List<List<int>>>>.从我的Xml看起来像
<root>
<Claim key="1" carrier="carA" zip="34343" pages="1"/>
<Claim key="2" carrier="carA" zip="34343" pages="2"/>
<Claim key="3" carrier="carB" zip="10505" pages="2"/>
<Claim key="4" carrier="carB" zip="10505" pages="4"/>
<Claim key="5" carrier="carB" zip="10505" pages="4"/>
</root>
Run Code Online (Sandbox Code Playgroud)
输出的结构应该是这样的
-all
-1
-34343
-carA
-1
-2
-34343
-carA
-2
-10505
-carB
-3
-4
-10505
-carB
-4
-5
Run Code Online (Sandbox Code Playgroud)
目标是首先根据节点属性按页数,然后按zip,然后按运营商对XML进行排序.然后,我需要遍历结果列表并按特定顺序处理每个声明.我无法获得3个嵌套组的语法.我已经完成了获得2个嵌套组,任何人都可以帮助我获得第三个.
到目前为止,这是我的代码.
var query = from claim in root.Elements("Claim")
group claim by claim.Attributes("Pages").First().Value into pageGroups
from zipGroups in
(from claim in pageGroups
group claim by int.Parse(claim.Attributes("CarrierZip").First().Value))
group zipGroups by pageGroups.Key;
Run Code Online (Sandbox Code Playgroud) 我不确定我做错了什么但是当我设置我的Nexus以使用eclipse进行调试时我在控制台中收到错误说
[2011-12-27 21:48:31 - DeviceMonitor]无法开始监控0146BF5417006010
然后我adb通过Android平台工具/ adb.exe 运行设备,我的设备显示为"离线".
我尝试过以下方法:
在旁注上我确实以前在我的Droid和Droid 3上工作过
任何帮助,将不胜感激.
c# ×2
.net ×1
adb ×1
adt ×1
android ×1
eclipse ×1
linq ×1
linq-to-xml ×1
sql ×1
sql-server ×1
xml ×1
xp-cmdshell ×1