.netcore-FreeSql的使用-搭建context


之前用netcore搭建了一個小項目,數據庫操作用的是要手寫sql語句的connection和command,一直想調個EFCore或者類似SOA那樣的框架

今天看到了DotNet公眾號提到的.NET Core新型ORM,於是興起打算試試如何去使用

其推文轉自

cnblogs.com/kellynic/p/10645049.html

 

1. 要搭建context,則自然需要繼承自框架的DbContext

先新增Nuget包——FreeSql,但是要注意的是FreeSql.DbContext並不是在原始包中,而是一個拓展的類

故還需要在Nuget控制台輸入命令:dotnet add 項目名 package FreeSql.DbContext將拓展包安裝好

然后就與EF那樣重寫配置方法

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

2. 定義DbSet變量,注意:實體類名稱要與數據庫表名稱保持一致

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

 

越努力越幸運,努力需要自制,希望自己能夠有更強的自制力!感恩自信自律!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM