使用存储库模式和带有EF(现在为核心)的CQRS作为基本数据访问。
界面上的基本方法:
Task<TEntity> GetSingle(Expression<Func<TEntity,bool>> filter);
Task<ICollection<TEntity>> Get(Expression<Func<TEntity,bool>> filter, int skip, int take);
这适用于EF。
我想将IMDG层的数据提供者更改为Gemfire(Apache Geode),并向数据库进行异步写操作。
我现在要面对的挑战是实现此接口以与OQL一起使用。 Geode使用的OQL非常类似于SQL。
我有两个想法:
实施Apache Geode EF提供程序(用于核心)。这看起来令人望而生畏,而我所看到的关于该主题的少量文档似乎与EF 3.0 / 3.1的发行版已经过时了。但是,这似乎会使更大的社区受益,并且如果我能找到一些有关如何做的最新文档,我会取悦它。
在没有EF的情况下实现接口。
无论哪种情况-我都需要LINQ到OQL的翻译。
该主题似乎没有被触摸过。从我所看到的-Gemfire / Geode和NCache都会从这样的事情中受益。
有没有办法做到这一点?