在C#中构建SQL查询生成器接口
问题描述:
我正在构建一个SQL接口,它将充当接口,以便能够为许多数据库(包括SQLite和MySql)构建SQL查询。在C#中构建SQL查询生成器接口
由于查询字符串在这两种数据库类型之间的语法不同,我认为这里的接口是最好的解决方法。
我想确保每个方法(插入,CreateTable,ReadColumn)具有所有必要的参数来建立一个工作的查询,并提供最大的功能。
目前,这是我...
public interface IDatabase
{
bool CreateTable(SqlTable table);
bool AlterTable(SqlTable from, SqlTable to);
bool UpdateValue(string table, List<SqlValue> values, List<SqlValue> wheres);
bool InsertValues(string table, List<SqlValue> values);
bool ReadColumn(string table, List<SqlValue> wheres);
bool DeleteRow(string table, List<SqlValue> wheres);
}
任何人都可以提出任何添加/编辑我应该让我的界面,使其更实用?
感谢 颠簸
答
什么ORDER
,GROUP BY
,HAVING
,TOP
(SQL服务器),LIMIT
(MySQL的)等?我不认为这可以很容易地通过接口来表示,除非您将自己限制为SQL的一个公共子集。
也许考虑[动态linq](http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library。 ASPX)。如果它们不存在,您可以始终实现自己的查询提供程序。 – 2012-01-11 08:28:05