SqlSugar源码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
3.8 KiB

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()
{
DbType = DbType.Oracle,
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();
db.CodeFirst.InitTables<PictureData>();
db.CodeFirst.InitTables<PictureData>();
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();
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();
db.Queryable<CodeFirstNoUpper>()
.Select(it => new CodeFirstNoUpper()
{
Id = SqlFunc.Subqueryable<CodeFirstNoUpper>().Where(z => z.Id == it.Id).Select(z => z.Id)
}).ToList();
db.Queryable<CodeFirstNoUpper>().LeftJoin<CodeFirstNoUpper>((s, y) => s.Id == y.Id)
.Select((s, y) => y).ToList();
Console.WriteLine("#### CodeFirst end ####");
}
}
public class CodeFirstNoUpper
{
[SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; }
public string Name { get; set; }
}
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
}
[SugarTable("PictureData")]
public class PictureData
{
[SugarColumn(IsPrimaryKey = true)]
public string SampleNo { get; set; }
[SugarColumn(IsPrimaryKey = true)]
public int SerialNo { get; set; }
public byte[] Data { get; set; }
}
public class CodeFirstTable1
{
[SugarColumn(OracleSequenceName ="SEQ_ID", IsPrimaryKey = true)]
public int Id { get; set; }
public string Name { get; set; }
public string Text { get; set; }
[SugarColumn(IsNullable = true)]
public DateTime CreateTime { get; set; }
}
}