SqlSugarCore 5.1.4.141 及以上版本
表是一维的 实体用 二维的来表现
1对1 : 是2个表
值对象 :是1个表,只是将一个表的部分字段用对象包起来
json存类: 一个字段存储多个字段
值对象: 存储的是多个字段,但是接收的是一个对象
表结构
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | //插入 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维的,但是对应的表是一维的
有的时候我们只需要查询是二维的,插入和更新还是一维的 ,我们可以使用下面写法
1 2 3 4 5 6 7 8 9 10 11 | 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