2019-06-04 17:48:25 +08:00
using SqlSugar ;
using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
namespace OrmTest
{
public class DemoE_CodeFirst
{
public static void Init ( )
{
Console . WriteLine ( "" ) ;
Console . WriteLine ( "#### CodeFirst Start ####" ) ;
SqlSugarClient db = new SqlSugarClient ( new ConnectionConfig ( )
{
2019-06-04 20:01:28 +08:00
DbType = DbType . Oracle ,
2019-06-04 17:48:25 +08:00
ConnectionString = Config . ConnectionString3 ,
InitKeyType = InitKeyType . Attribute ,
IsAutoCloseConnection = true
} ) ;
db . CodeFirst . InitTables ( typeof ( CodeFirstTable1 ) ) ; //Create CodeFirstTable1
db . Insertable ( new CodeFirstTable1 ( ) { Name = "a" , Text = "a" } ) . ExecuteCommand ( ) ;
var list = db . Queryable < CodeFirstTable1 > ( ) . ToList ( ) ;
2022-09-28 22:38:36 +08:00
db . CodeFirst . InitTables < PictureData > ( ) ;
db . CodeFirst . InitTables < PictureData > ( ) ;
2022-10-19 13:44:26 +08:00
db . CodeFirst . InitTables < EnumTypeClass > ( ) ;
db . Insertable ( new EnumTypeClass ( ) { enumType = EnumType . x1 , SerialNo = Guid . NewGuid ( ) + "" } ) . ExecuteCommand ( ) ;
var list2 = db . Queryable < EnumTypeClass > ( ) . Select ( x = > new EnumTypeClass ( )
{
enumType = x . enumType ,
SerialNo = x . SerialNo
} ) . ToList ( ) ;
2022-12-11 20:09:41 +08:00
db . Aop . OnLogExecuting = ( s , p ) = > Console . WriteLine ( s ) ;
db . CurrentConnectionConfig . MoreSettings = new ConnMoreSettings ( )
{
IsAutoToUpper = false
} ;
db . CodeFirst . InitTables < CodeFirstNoUpper > ( ) ;
db . Insertable ( new CodeFirstNoUpper ( ) { Id = Guid . NewGuid ( ) + "" , Name = "a" } ) . ExecuteCommand ( ) ;
var list3 = db . Queryable < CodeFirstNoUpper > ( ) . Where ( it = > it . Id ! = null ) . ToList ( ) ;
db . Updateable ( list3 ) . ExecuteCommand ( ) ;
db . Deleteable ( list3 ) . ExecuteCommand ( ) ;
db . Updateable ( list3 . First ( ) ) . ExecuteCommand ( ) ;
db . Deleteable < CodeFirstNoUpper > ( ) . Where ( it = > it . Id ! = null ) . ExecuteCommand ( ) ;
db . Updateable < CodeFirstNoUpper > ( ) . SetColumns ( it = > it . Name = = "a" ) . Where ( it = > it . Id ! = null ) . ExecuteCommand ( ) ;
db . Updateable < CodeFirstNoUpper > ( ) . SetColumns ( it = > new CodeFirstNoUpper ( )
{
Name = "a"
} ) . Where ( it = > it . Id ! = null ) . ExecuteCommand ( ) ;
2023-01-12 17:11:26 +08:00
db . Queryable < CodeFirstNoUpper > ( )
. Select ( it = > new CodeFirstNoUpper ( )
{
Id = SqlFunc . Subqueryable < CodeFirstNoUpper > ( ) . Where ( z = > z . Id = = it . Id ) . Select ( z = > z . Id )
} ) . ToList ( ) ;
2023-02-10 15:55:19 +08:00
db . Queryable < CodeFirstNoUpper > ( ) . LeftJoin < CodeFirstNoUpper > ( ( s , y ) = > s . Id = = y . Id )
. Select ( ( s , y ) = > y ) . ToList ( ) ;
2023-06-20 15:58:17 +08:00
2023-06-20 15:59:26 +08:00
//SqlSugarClient db2 = new SqlSugarClient(new ConnectionConfig()
//{
// DbType = DbType.Oracle,
// ConnectionString = Config.ConnectionString3,
// InitKeyType = InitKeyType.Attribute,
// IsAutoCloseConnection = true,
// MoreSettings=new ConnMoreSettings()
// {
// EnableOracleIdentity=true
// }
//});
//db2.Aop.OnLogExecuting = (s, p) => Console.WriteLine(s);
//db2.CodeFirst.InitTables<CodeFIrstadfa>();
//var id = db2.Insertable(new CodeFIrstadfa() { Id = 1, Name = "a" }).ExecuteReturnIdentity();
//var id11 = db2.Insertable(new CodeFIrstadfa() { Id = 1, Name = "a" }).ExecuteReturnIdentityAsync().GetAwaiter().GetResult();
//var id111 = db2.Insertable(new CodeFIrstadfa() { Id = 1, Name = "a" }).ExecuteReturnBigIdentityAsync().GetAwaiter().GetResult();
//var id1111 = db2.Insertable(new CodeFIrstadfa() { Id = 1, Name = "a" }).ExecuteReturnBigIdentity();
//var id2 = db2.Insertable(new List<CodeFIrstadfa>() { new CodeFIrstadfa() { Id = 1, Name = "a" }, new CodeFIrstadfa() { Id = 1, Name = "a" } }).ExecuteReturnIdentity();
2019-06-04 17:48:25 +08:00
Console . WriteLine ( "#### CodeFirst end ####" ) ;
}
}
2023-06-20 15:58:17 +08:00
public class CodeFIrstadfa
{
[SugarColumn(IsIdentity =true,IsPrimaryKey =true)]
public int Id { get ; set ; }
[SugarColumn(IsNullable =true)]
public string Name { get ; set ; }
}
2022-12-11 20:09:41 +08:00
public class CodeFirstNoUpper
{
[SugarColumn(IsPrimaryKey = true)]
public string Id { get ; set ; }
public string Name { get ; set ; }
}
2022-10-19 13:44:26 +08:00
public class EnumTypeClass
{
[SugarColumn(IsPrimaryKey = true,Length =50)]
public string SerialNo { get ; set ; }
[SugarColumn(ColumnDataType ="number(22,0)")]
public EnumType enumType { get ; set ; }
}
public enum EnumType {
x1 = - 1 ,
x2 = 2
}
2022-09-28 22:38:36 +08:00
[SugarTable("PictureData")]
public class PictureData
{
[SugarColumn(IsPrimaryKey = true)]
public string SampleNo { get ; set ; }
2019-06-04 17:48:25 +08:00
2022-09-28 22:38:36 +08:00
[SugarColumn(IsPrimaryKey = true)]
public int SerialNo { get ; set ; }
public byte [ ] Data { get ; set ; }
}
2019-06-04 17:48:25 +08:00
public class CodeFirstTable1
{
2019-06-04 20:07:51 +08:00
[SugarColumn(OracleSequenceName ="SEQ_ID", IsPrimaryKey = true)]
2019-06-04 17:48:25 +08:00
public int Id { get ; set ; }
public string Name { get ; set ; }
public string Text { get ; set ; }
[SugarColumn(IsNullable = true)]
public DateTime CreateTime { get ; set ; }
}
}