using OrmTest;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo
{
///
/// 数据库帮助类
///
public class UnitSelectN
{
public static void Init()
{
var Db = NewUnitTest.Db;
Db.CodeFirst.InitTables(typeof(UpFile), typeof(SpShangPin));
int total = 0;
Test0(Db, total);
total = Test1(Db, total);
}
private static int Test0(SqlSugarClient Db, int total)
{
var list = Db.Queryable()
.Select(s => new ShangPinView()
{
Image = new UploadFile() { Id = s.FileId, Url = s.Image.FilePath }
}).ToList();
return total;
}
private static int Test1(SqlSugarClient Db, int total)
{
var list = Db.Queryable()
.Includes(s => s.Image)
.Select(s => new ShangPinView()
{
Id = s.Id,
Name = s.Name,
Price = s.Price,
Image = new UploadFile() { Id = s.FileId, Url = s.Image.FilePath },
FileName = s.Image.FilePath,
File = s.Image,
//Image = s.Image == null ? null : new UploadFile() { Id = s.FileId, Url = s.Image == null ? "" : s.Image.FilePath }
}).ToPageList(1, 2, ref total);
return total;
}
}
///
/// 商品表
///
public class SpShangPin : Base
{
public string Name { get; set; }
public int Price { get; set; }
public Guid FileId { get; set; }
[Navigate(NavigateType.OneToOne, nameof(FileId), nameof(UpFile.Id))]
public UpFile Image { get; set; }
}
///
/// 上传文件表
///
public class UpFile : Base
{
public string FileName { get; set; }
public string FilePath { get; set; }
}
///
/// 表公共字段
///
public class Base
{
[SugarColumn(IsPrimaryKey = true)]
public Guid Id { get; set; }
public DateTime AddTime { get; set; }
public DateTime UpdateTime { get; set; }
public bool IsDel { get; set; }
}
public class ShangPinView
{
public Guid Id { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public UploadFile Image { get; set; }
public UpFile File { get; set; }
public string FileName { get; set; }
}
public class UploadFile
{
[SugarColumn(IsPrimaryKey = true)]
public Guid Id { get; set; }
public string Url { get; set; }
}
}