2
我想在实体框架和Dapper之间创建抽象层。在运行时,我可以选择实体框架或Dapper,或者我也将它们两个都包含在内。我知道,我可以使用接口如何在各种ORM(实体框架和Dapper)之间创建抽象层?
public IORM{
Save();
Delete();
//other ORM functions
}
public EntityFramework : IORM{
public Save(){
SaveChanges();
}
public Delete(){
Remove();
}
}
public Dapper: IORM{
public Save(){
//save code goes here
}
public Delete(){
//delete code goes here
}
但是,这是基本的操作和不知道如何在.NET 2.0的核心方法CofigureServices()
配置。
是不同的ORM之间的抽象建议?如果是的话, 在.net 核心2.0中实现Entity framework和Dapper之间的抽象层?
除非应用程序需求需要同时使用sql和nosql数据库(某种混合使用情况),否则我不会建议抽象ORM的。因此,从当前和未来的需求角度评估用例,如果您的应用程序和整个应用程序完全适用于某种类型的数据库,则无需进行抽象。 –
请参阅使用Dapper + Dapper Extensions实现Repository和UnitOfWork的示例代码。 stackoverflow.com/a/45460483/5779732; stackoverflow.com/a/45029588/5779732 –
我想说,在不同的ORM之间创建抽象层并不是特别有用。这需要相当多的努力,投资回报似乎不大可能。毕竟,你为什么要做这个开关? – GlennSills