SQL样式的linq查询

时间:2014-11-17 19:52:46

标签: c# sql sql-server linq lambda

您好我想知道是否可以转换此SQL:

SELECT p.Name, p.Age
FROM Persons p

对于这样的事情:

var query = Sql
  .Select<Person>(p => p.Name, p.Age)
  .From<Persons>(p)
  .Run();

PersonPersons类将从数据库结构中创建(与Reverse POCO Generator一样)。

Run()方法将采用前面的linq并生成上述SQL。由于linq样式将遵循SQL结构,因此应该按顺序迭代语句并使用StringBuilder构建最终查询。

所以我的问题是具体的:

Select<Person>(p => p.Name, p.Age)

  1. 可以列出无数个属性(例如param string[] names
  2. 可以提取这些属性名称(整个p.name
  3. 这些属性是否可以是静态的,因此不必创建person实例?
  4. .From<Persons>(p)

    1. 可以提取<>括号中的类型名称吗?
    2. 这里可以指定一个字母吗?
    3. .Run()

      1. 可以采用上述结构并将其转换为字符串吗?
      2. 与仅仅内联SQL字符串相比,是否会有太多的性能影响?

0 个答案:

没有答案