FreeSql 是 .NetFramework 4.6+、.NetCore 下的 ORM 功能库,提供了丰富的功能,支持五种流行数据库 MySql/SqlServer/PostgreSQL/Oracle/Sqlite。
正常的数据库都支持跨库,然而 Sqlite 默认不支持,或者说支持起来较为麻烦,FreeSql 最关心的是通用、易用性,本文介绍 FreeSql 如何实现 Sqlite 跨库操作。
故事发生在 CodeFirst 自由开发
FreeSql 支持并推荐使用 CodeFirst 方式开发项目,这种开发方式非常自由,如同 FreeSql 的命名一般。
如下定义两个实体(文章、评论):
class Topic {
public Guid Id {
get; set; }
public string Title {
get; set; }
public string Content {
get; set; }
public DateTime CreateTime {
get; set; }
}
[Table(Name = "xxxtb.Comment")]
class Comment {
public Guid Id {
get; set; }
public Guid TopicId {
get; set; }
public Topic Topic {
get; set; }
public string Nickname {
get; set; }
public string Content {