.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 定義約定的導航對象,會一塊兒查詢返回

 

越努力越幸運,努力須要自制,但願本身可以有更強的自制力!感恩自信自律!

相關文章
相關標籤/搜索