我想创建一个支持多平台的移动类库(Mobile,Desktop,Web) 这个库将使用Rest API(ASP API)..我想要的是在可移植类中编写LINQ语句然后将其转换为SQL语句作为字符串然后将其发送到Web服务 我发现的是IQToolkit,但它需要一个数据库提供程序来生成SQL语句..所以有什么想法可以做到这一点吗?
更新
我的工作是:
private IEnumerable<MemberExpression> DevideExpressions(Expression condition)
{
var candidates = new Queue<Expression>(new[] { condition });
while (candidates.Count > 0)
{
var expr = candidates.Dequeue();
if (expr is MemberExpression)
{
yield return ((MemberExpression)expr);
}
else if (expr is UnaryExpression)
{
candidates.Enqueue(((UnaryExpression)expr).Operand);
}
else if (expr is BinaryExpression)
{
var binary = expr as BinaryExpression;
candidates.Enqueue(binary.Left);
candidates.Enqueue(binary.Right);
}
else if (expr is MethodCallExpression)
{
var method = expr as MethodCallExpression;
foreach (var argument in method.Arguments)
{
candidates.Enqueue(argument);
}
}
else if (expr is LambdaExpression)
{
candidates.Enqueue(((LambdaExpression)expr).Body);
}
}
}
所以有两种情况: 1-代码如下:
var result = MyDb.Select<Users>(f=> f.UserName == "my name");
它给我字符串结果: &#34; UserName = \&#34;我的名字\&#34;&#34; 所以我可以轻松地将它处理到SQL
2-代码如下:
string name = "my name";
var result = MyDb.Select<Users>(f=> f.UserName == name);
它给我字符串结果: &#34; UserName = value(DbEntityWpf.MainWindow).name&#34;
所以我想在运行时将()的值作为字符串获取的主要问题..如果发生这种情况,那么每件事都可以。