.netcore-FreeSql的使用-搭建context

以前用netcore搭建了一个小项目,数据库操做用的是要手写sql语句的connection和command,一直想调个EFCore或者相似SOA那样的框架html

今天看到了DotNet公众号提到的.NET Core新型ORM,因而兴起打算试试如何去使用sql

其推文转自数据库

cnblogs.com/kellynic/p/10645049.html框架

 

1. 要搭建context,则天然须要继承自框架的DbContextide

先新增Nuget包——FreeSql,可是要注意的是FreeSql.DbContext并非在原始包中,而是一个拓展的类ui

故还须要在Nuget控制台输入命令:dotnet add 项目名 package FreeSql.DbContext将拓展包安装好spa

而后就与EF那样重写配置方法htm

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
  var _fsql = new FreeSqlBuilder()
    .UseConnectionString(dataType, OACommon.DatabaseHepler.ConnectionString)
    .Build();
  optionsBuilder.UseFreeSql(_fsql);
}对象

2. 定义DbSet变量,注意:实体类名称要与数据库表名称保持一致blog

3. 一开始我觉得还须要向EF那样定义map,但是当我直接调用DbSet变量,发现竟能够获取到表数据,猜想应该是经过实体名称反射获得的表名

using (var db = new OAModels.FreeSqlManager.FSqlContext())
{
  var users = db.user_info.Select.ToList();

}

4. 至此,FreeSql的context算是搭建完成,但遇到两个问题:

  1)是否可使用linq操做?稍微试了一下,不行,后续再看看有没有什么办法

    不支持

  2)联表查询LeftJoin,获得的实体仍是调用了select的那个实体,即没有另外一个表的数据,如何获得另外一个表中想要的数据呢?

    能够试试评论中的写法:LeftJoin 定义约定的导航对象,会一块儿查询返回

 

越努力越幸运,努力须要自制,但愿本身可以有更强的自制力!感恩自信自律!

相关文章
相关标签/搜索