正在研究一种服务,该服务会多次访问数据库,并对.net代码中的数据进行大量计算,然后将其保存回数据库表中。
某些列需要从其他表的其他DB列中计算出来(该信息也存储在数据库中,但我们会缓存该数据)。该信息为每个计算列提供了一个具有所有相关列值的sqlquery。
问题是我不想为每个计算列访问数据库(一次操作最多可以调用300-400次呼叫。
我能想到的是首先以Model的形式获取所有相关数据,然后从那些模型对象而不是sql表中获取查询。(可以使用Entity Framework吗?)
但是由于我上面也提到了对sqlqueries的依赖,因此我需要转换sql查询,以便它们可以在对象上运行(将sql查询转换为linq)
是否有任何API可以将sqlquery转换为linq?或解决整个问题的任何更好的标准设计方法。
编辑1:此处的用例是我已经通过运行sql查询来填充实体。一旦填充了实体,在此步骤之后,我想对我从实体中获取的数据运行其他一些sql查询并且我要运行的SQL查询将联接多个表(在我的情况下为实体)。我唯一能看到的选择就是将自己的自定义SQL编写到LINQ解析器中,希望它能解决问题