主键(Primary Key) class Topic { [Column(IsPrimary = true)] public int Id { get; set; } } 约定: 当没有指明主键时,命名为 id 的字段将成为主键:(不区分大小写) 当主键是 Guid 类型时,插入时会自动创建(有序.不重复)的值,所以不需要自己赋值:(支持分布式) 自增(Identity) class Topic { [Column(IsIdentity = true)] public int Id { get
有时候,我们希望将写好的 sql 语句,甚至是存储过程进行查询,虽然效率不高(有时候并不是效率至上). 巧用AsTable var sql = fsql.Select<UserX>() .AsTable((a, b) => "(select * from user where clicks > 10)") .Page(1, 10).ToList(); 本身 AsTable 是用来进行分表分库的,后续我们会接着讲. 友情提醒:当开启了自动同步结构功能,UserX
FreeSql 支持导航属性延时加载,即当我们需要用到的时候才进行加载(读取),支持1对1.多对1.1对多.多对多关系的导航属性. 当我们希望浏览某条订单信息的时候,才显示其对应的订单详细记录时,我们希望使用延迟加载来实现,这样不仅加快的了 读取的效率,同时也避免加载不需要的数据.延迟加载通常用于foreach循环读取数据时. 那么我们在定义Model的时候,需要在属性前面添加virtual关键字.如下 public class Order { [Column(IsPrimary = true)