我在VAR类型中使用sql查询处理源代码,如
var query = select ... from ... where ... ;
是否可以添加动态“where子句”,如
string condition = "where x.x > x.y";
e.g. var query = select ... from ... + condition;
对不起我的英语不好
答案 0 :(得分:0)
您没有明确说明查询的外观。它是LINQ操作的结果还是只是一个String?
关键字var仅可用于设计时。编译器将使用正确的数据类型替换它。
如果SQL查询是一个字符串,比如
var query = "Select ... from ... where ..";
然后
string condition = "where x.x > x.y";
query += condition;
有效,因为两个变量都是字符串。您不能按照代码建议的方式将非字符串类型与字符串组合在一起。
我现在假设您使用的是LINQ语法。可以在每个代码的linq查询中添加这样的条件,我认为关键字linq查询构建器,表达式树和谓词应该可以帮助您入门。
我强烈建议您停止使用var关键字,而不要完全知道它的作用以及在何处使用它。
答案 1 :(得分:0)
Dynamic Linq专门用于解决LINQ的后期绑定方案:
允许构造如:
NorthwindDataContext northwind = new NorthwindDataContext();
var query = northwind.Products
.Where("CategoryID = 3 AND UnitPrice > 3")
.OrderBy("SupplierID");