mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-08 02:14:53 +08:00
Update Core Demo
This commit is contained in:
@@ -0,0 +1,53 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using SqlSugar;
|
||||||
|
using OrmTest.Models;
|
||||||
|
|
||||||
|
namespace OrmTest.Demo
|
||||||
|
{
|
||||||
|
public class ExtSqlFun : DemoBase
|
||||||
|
{
|
||||||
|
public static SqlSugarClient GetDb()
|
||||||
|
{
|
||||||
|
//Create ext method
|
||||||
|
var expMethods = new List<SqlFuncExternal>();
|
||||||
|
expMethods.Add(new SqlFuncExternal()
|
||||||
|
{
|
||||||
|
UniqueMethodName = "MyToString",
|
||||||
|
MethodValue = (expInfo, dbType, expContext) =>
|
||||||
|
{
|
||||||
|
return string.Format("CAST({0} AS VARCHAR(MAX))", expInfo.Args[0].MemberName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var config = new ConnectionConfig()
|
||||||
|
{
|
||||||
|
ConnectionString = Config.ConnectionString,
|
||||||
|
DbType = DbType.SqlServer,
|
||||||
|
IsAutoCloseConnection = true,
|
||||||
|
ConfigureExternalServices = new ConfigureExternalServices()
|
||||||
|
{
|
||||||
|
SqlFuncServices = expMethods//set ext method
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
SqlSugarClient db = new SqlSugarClient(config);
|
||||||
|
return db;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string MyToString<T>(T str)
|
||||||
|
{
|
||||||
|
throw new NotSupportedException("Can only be used in expressions");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Init()
|
||||||
|
{
|
||||||
|
var db = GetDb();
|
||||||
|
var list = db.Queryable<Student>().Where(it => MyToString(it.Id) == "1302583").ToList();
|
||||||
|
var sql = db.Queryable<Student>().Where(it => MyToString(it.Id) == "1302583").ToSql();
|
||||||
|
Console.WriteLine(sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -39,6 +39,7 @@ namespace SqlSeverTest
|
|||||||
OrmTest.Demo.CodeFirst.Init();
|
OrmTest.Demo.CodeFirst.Init();
|
||||||
OrmTest.Demo.MasterSlave.Init();
|
OrmTest.Demo.MasterSlave.Init();
|
||||||
OrmTest.Demo.SharedConnection.Init();
|
OrmTest.Demo.SharedConnection.Init();
|
||||||
|
OrmTest.Demo.ExtSqlFun.Init();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user