1
是否有一种更好的方式来使用LINQ类型接口或其他任何其他方法进行以下操作。我通常使用NHibenate,但由于系统的动态性,我正在构建我需要执行以下操作。在C#中创建一个用于生成SQL语句的接口
StringBuilder select = new StringBuilder("select ");
select.Append("Column1, ");
select.Append("Column2, ");
select.Append("Column3 ");
select.Append("from TableName tn");
select.AppendFormat("where tn.Column1 = {0}", 12);
DataSet dataSet = select.ExecuteSelect() // is an extension method that takes a string builder
所有字符串值都来自MetaColumn和MetaTable元存储,它允许我构造这些语句。幸运的是,它们非常简单。没有加入,只是插入和更新。有多达50个不同的表格,列数为100 + - 。我想能够做些类似于
string statement = select allColumns from new TableName<"TableName">() where UniqueKey<"Column1">(12);
这样的事情......任何想法?
我不确定这是你想要的,但你可以创建你自己的静态类来封装创建语句的过程并使用它们,即像这样:'SQLCreator.CreateSelect(new列表(){“ColumnToSelect”},“TableToSelectFrom”,“SampleColumn <10”);' –
+1。很酷的想法,但它似乎有点松散类型。 – Jonathan
@Lucas ...我可能会使用一堆扩展来控制界面。 – Jonathan