我正在嘗試將EF遷移到Dapper,並且正在尋找一種更好,更有效的方法來遷移現有的LINQ表達式「IQueryable」以使用Dapper。如何高效地將EF linq查詢遷移到Dapper?
例:
public class MyDbContext : DbContext
{
public DbSet<MyEntity> MyEntity { get; set; }
+20 more entities..
}
// Inside repository
using (var context = new MyDbContext())
{
context.MyEntity.Where(x => x.Id == 1) // How can I easily migrate this linq to Dapper?
}
上面的代碼是一個簡單的例子,只是我想要遷移。其中一些查詢是簡單和複雜的混合。目前,我在MyDbContext中有20多個存儲庫和20多個DbSet,它們在存儲庫中使用這種方法。
我在網上搜索,我還沒有找到更好的方法。到目前爲止,唯一的方法是將linq逐個轉換爲查詢字符串並在Dapper中使用它。這是可行但繁瑣而巨大的努力。性能是我最關心的問題,爲什麼我要遷移到Dapper。
有沒有人有比我目前想的更好的方式來做到這一點?