mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-24 18:04:52 +08:00
93 lines
3.0 KiB
C#
93 lines
3.0 KiB
C#
using SqlSugar;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Data.SqlTypes;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace OrmTest
|
|
{
|
|
internal class Unitadf1131
|
|
{
|
|
|
|
public static void Init()
|
|
{
|
|
var db = NewUnitTest.Db;
|
|
db.CodeFirst.InitTables<PmtSetting>();
|
|
db.CodeFirst.InitTables<BankTemplate>();
|
|
db.DbMaintenance.TruncateTable<PmtSetting, BankTemplate>();
|
|
db.Insertable(new PmtSetting() {
|
|
TemplateName= TemplateName.T1_HSBC_CNY,
|
|
PaymentApproach="a"
|
|
}).ExecuteCommand();
|
|
db.Insertable(new BankTemplate()
|
|
{
|
|
TemplateName = TemplateName.T1_HSBC_CNY,
|
|
TemplateData=new byte[] { 1},
|
|
TemplateFileName="a"
|
|
}).ExecuteCommand();
|
|
var list=db.Queryable<PmtSetting>().Includes(x => x.Template).ToList();
|
|
var sql=db.Queryable<Unitadfaasdfasfa>()
|
|
.Where(it => it.num == SqlFunc.Subqueryable<UnitadfaasdfasfaDTO>().GroupBy(s => s.num).Select(s => s.num))
|
|
.ToSqlString();
|
|
if (!sql.Contains("[num] in")) { throw new Exception("unit error"); }
|
|
|
|
db.CodeFirst.InitTables<Unitadfaasdfasfa, UnitadfaasdfasfaDTO>();
|
|
var sql2 = db.Queryable<Unitadfaasdfasfa>()
|
|
.Where(
|
|
it => it.num == SqlFunc.Subqueryable<UnitadfaasdfasfaDTO>().GroupBy(s => s.num).Select(s => s.num)
|
|
&& it.num == SqlFunc.Subqueryable<UnitadfaasdfasfaDTO>().GroupBy(s => s.num).Select(s => s.num))
|
|
.ToList();
|
|
}
|
|
public class Unitadfaasdfasfa
|
|
{
|
|
public string Id { get; set; }
|
|
public long num { get; set; }
|
|
}
|
|
|
|
public class UnitadfaasdfasfaDTO
|
|
{
|
|
public string Id { get; set; }
|
|
public long? num { get; set; }
|
|
}
|
|
|
|
// 主表
|
|
public class PmtSetting
|
|
{
|
|
|
|
|
|
[SugarColumn(ColumnDataType = "int", ColumnName = "TemplateName", IsNullable = true)]
|
|
public TemplateName TemplateName { get; set; }
|
|
|
|
public string PaymentApproach { get; set; }
|
|
[Navigate(NavigateType.OneToOne, nameof(TemplateName), nameof(BankTemplate.TemplateName))]
|
|
public BankTemplate Template { get; set; } //子表对象
|
|
}
|
|
|
|
|
|
|
|
// 子表
|
|
public class BankTemplate
|
|
{
|
|
|
|
[SugarColumn(ColumnDataType = "int", IsNullable = false, IsPrimaryKey = true)]
|
|
public TemplateName TemplateName { get; set; }
|
|
public string TemplateFileName { get; set; }
|
|
public byte[] TemplateData { get; set; }
|
|
}
|
|
// 枚举
|
|
public enum TemplateName
|
|
{
|
|
T1_HSBC_CNY = 1,
|
|
T2_HSBC_NONCNY = 2,
|
|
T3_BOC_PRIVATE = 3,
|
|
T4_BOC_USD = 4,
|
|
T5_BOC_EUR = 5,
|
|
T6_BOC_OTHERS = 6,
|
|
T7_BOC_UNIT = 7
|
|
}
|
|
}
|
|
}
|