ORM-CORM

using System.Collections;

using System.Data;

using System.Data.Common;

using System.Security.Cryptography.X509Certificates;

using System.Text;

using System.Text.Json.Nodes;

namespace ConsoleApp1

{

internal class Program

{

static void Main(string[] args)

{

//Console.WriteLine("Hello, World!");

//DB.table("table").where().eq("name", "").SelectOne();

//DB.table("name", "table").where().eq("name", "").SelectOne();

//DB.table("name", "table").where().group().eq("name", "").eqOR("","").endgroup().SelectOne();

DB.transaction.Connection.BeginTransaction();

//var mm = ( a:"111",cc:"ee");

var aa = new { x = 1, y = 2 };

DB.table("table").primary("id").update(aa);

}

}

public static class DB

{

public static DbTransaction? transaction;

public static SqlBuilder table(string tablename)

{

string sql = "SELECT * FROM" + tablename;

SqlBuilder sqlBuilder = new SqlBuilder(sql);

return sqlBuilder;

}

public static SqlBuilder table(string columns,string tablename)

{

string sql = "SELECT " + columns + " FROM" + tablename;

SqlBuilder sqlBuilder = new SqlBuilder(sql);

return sqlBuilder;

}

}

//public class JsonContent : StringContent

//{

// public JsonContent(object obj) :

// base(JsonConvert.SerializeObject(obj), Encoding.UTF8, "application/json")

// { }

//}

//eq --> ==

//ne --> <>

//lt --> <

//gt --> >

//lte --> <=

//gte --> >=

//in --> in

//notIn --> not in

//like --> like

//notLike --> not like

public class SqlBuilder

{

public SqlBuilder primary(string key)

{

return this;

}

public SqlBuilder update(object obj)

{

//new JsonContent();

//JsonConvert.SerializeObject(obj);

return this;

}

public SqlBuilder insert(object obj)

{

//new JsonContent();

//JsonConvert.SerializeObject(obj);

return this;

}

public string sql { get; set; }

public SqlBuilder(string sqlText)

{

sql = sqlText;

}

public SqlBuilder where()

{

sql += " where 1=1 ";

return this;

}

public SqlBuilder group()

{

sql += " and (1=1 " ;

return this;

}

public SqlBuilder groupor()

{

sql += " or (1=1 ";

return this;

}

public SqlBuilder endgroup()

{

sql += " )";

return this;

}

public SqlBuilder eq(string columnname, string value)

{

sql += " and @" + columnname + "=" + value + " ";

return this;

}

public SqlBuilder ne(string columnname, string value)

{

sql += " and @" + columnname + "<>" + value + " ";

return this;

}

public SqlBuilder lt(string columnname, string value)

{

sql += " and @" + columnname + "<" + value + " ";

return this;

}

public SqlBuilder gt(string columnname, string value)

{

sql += " and @" + columnname + ">" + value + " ";

return this;

}

public SqlBuilder lte(string columnname, string value)

{

sql += " and @" + columnname + "<=" + value + " ";

return this;

}

public SqlBuilder gte(string columnname, string value)

{

sql += " and @" + columnname + ">=" + value + " ";

return this;

}

public SqlBuilder In(string columnname, string value)

{

sql += " and @" + columnname + "in" + value + " ";

return this;

}

public SqlBuilder notIn(string columnname, string value)

{

sql += " and @" + columnname + "not in" + value + " ";

return this;

}

public SqlBuilder like(string columnname, string value)

{

sql += " and @" + columnname + "like" + value + " ";

return this;

}

public SqlBuilder notLike(string columnname, string value)

{

sql += " and @" + columnname + "not like" + value + " ";

return this;

}

public SqlBuilder eqOR(string columnname, string value)

{

sql += " or @" + columnname + "=" + value + " ";

return this;

}

public SqlBuilder neOR(string columnname, string value)

{

sql += " or @" + columnname + "<>" + value + " ";

return this;

}

public SqlBuilder ltOR(string columnname, string value)

{

sql += " or @" + columnname + "<" + value + " ";

return this;

}

public SqlBuilder gtOR(string columnname, string value)

{

sql += " or @" + columnname + ">" + value + " ";

return this;

}

public SqlBuilder lteOR(string columnname, string value)

{

sql += " or @" + columnname + "<=" + value + " ";

return this;

}

public SqlBuilder gteOR(string columnname, string value)

{

sql += " or @" + columnname + ">=" + value + " ";

return this;

}

public SqlBuilder InOR(string columnname, string value)

{

sql += " or @" + columnname + "in" + value + " ";

return this;

}

public SqlBuilder notInOR(string columnname, string value)

{

sql += " or @" + columnname + "not in" + value + " ";

return this;

}

public SqlBuilder likeOR(string columnname, string value)

{

sql += " or @" + columnname + "like" + value + " ";

return this;

}

public SqlBuilder notLikeOR(string columnname, string value)

{

sql += " or @" + columnname + "not like" + value + " ";

return this;

}

public DataTable Select()

{

return null;

}

public DataRow SelectOne()

{

return null;

}

//public Hashtable Select()

//{

// return this;

//}

//public Hashtable SelectOne()

//{

// return this;

//}

}

}

//public class DB

//{

// public string sql { get; set; }

// public DB()

// {

// }

//}

//public static class Ext

//{

// public static SqlBuilder table(this DB db, string tablename)

// {

// SqlBuilder sqlBuilder = new SqlBuilder(db);

// db.sql = "SELECT * FROM" + tablename;

// return sqlBuilder;

// }

//}

相关推荐
逆风优雅14 分钟前
python 爬取网站图片的小demo
开发语言·python
m0_6161884930 分钟前
PDF预览-搜索并高亮文本
开发语言·javascript·ecmascript
IT瘾君31 分钟前
Java基础:Logback日志框架
java·开发语言·logback
stevenzqzq34 分钟前
kotlin中主构造函数是什么
开发语言·python·kotlin
Tttian62244 分钟前
Python办公自动化(2)对word&pdf的操作
开发语言·python
美美打不死1 小时前
webpack js 逆向 --- 个人记录
开发语言·javascript·webpack
等雨季1 小时前
scala编程语言
开发语言·scala
不断前进的皮卡丘1 小时前
06-公寓租赁项目-后台管理-公寓管理篇
java·开发语言·数据库·spring boot
努力学习的小廉1 小时前
【C++11(下)】—— 我与C++的不解之缘(三十二)
开发语言·c++
唐静蕴2 小时前
Kotlin语言的安全开发
开发语言·后端·golang