SqlSugarCore 5.1.4.141 及以上版本
表是一维的 实体用 二维的来表现
1对1 : 是2个表
值对象 :是1个表,只是将一个表的部分字段用对象包起来
json存类: 一个字段存储多个字段
值对象: 存储的是多个字段,但是接收的是一个对象
表结构
代码
//插入 db.Insertable(new UnitCustomeradfafas() { CustomerId=1, Name="name", Address=new UnitAddressadfafa() { City="city", Street= "street", ZipCode= "zipCode" } }).ExecuteCommand(); //更新 db.Updateable(new UnitCustomeradfafas() { CustomerId = 1, Name = "name2", Address = new UnitAddressadfafa() { City = "city2", Street = "street2", ZipCode = "zipCode2" } }).ExecuteCommand(); //查询 var list=db.Queryable<UnitCustomeradfafas>().ToList(); //条件查询 var list2 = db.Queryable<UnitCustomeradfafas>() .Where(it=>it.Address.City== "city2") .Select(it=>new { Street = it.Address.Street }).ToList(); public class UnitAddressadfafa { //支持SugarColumn设置别名 public string Street { get; set; } public string City { get; set; } public string ZipCode { get; set; } } public class UnitCustomeradfafas { [SqlSugar.SugarColumn(IsPrimaryKey =true)] public int CustomerId { get; set; } public string Name { get; set; } [SqlSugar.SugarColumn(IsOwnsOne =true)] public UnitAddressadfafa Address { get; set; } } }
说明:虽然实体是2维的,但是对应的表是一维的
有的时候我们只需要查询是二维的,插入和更新还是一维的 ,我们可以使用下面写法
var list3= db.Queryable<普通类>() .Select<DTO>().ToList(); public class DTO { public int CustomerId { get; set; } public string Name { get; set; } [SqlSugar.SugarColumn(IsOwnsOne =true)]//标识 public Address Address { get; set; } }
2016 © donet5.comApache Licence 2.0