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