oracle 用短柄器Map多个子对象

pes8fvy9  于 2023-08-04  发布在  Oracle
关注(0)|答案(1)|浏览(108)

我有一系列实体需要返回给调用者。在某些情况下,他们想要A类,在某些情况下想要B类,在某些情况下想要A类和B类。数据是相关的,都来自一个表,有相当数量的列。当前代码调用A,将其Map到C。ClassOfA,调用B,并将其Map到ClassOfB。当然,我可以解决这个问题,但是我想通过一个调用将A和B返回为C,但是我正在与Dapper进行斗争(可能是因为这无法完成)。我知道如果A引用B,我可以使用多重Map返回所有,但情况并非如此。此外,Oracle数据库(这不是我最擅长的),如果这很重要的话。假设我的两个类型是:

class A
  int InventoryOnHand {get;set;}
  int ProjectedSales {get;set;}
class B
  int ExpectedReturns{get;set;}
  int ProjectedProduction{get;set;}

class C
  A ClassOfA{get;set;}
  B ClassOfB{get;set;}

字符串
我可以动态地构建我正在使用的查询,并且可以返回每种类型,但是我不知道如何MapC,使得返回A和B的查询Map到C。我来代替。这可能吗?

vmpqdwk3

vmpqdwk31#

如果我理解得很好,你想返回C类的对象,它包含A/B类的对象,即ClassC中的嵌套类。
你有没有想过看看Slapper:https://github.com/SlapperAutoMapper/Slapper.AutoMapper
它会把数据Map回你的类
Oracle SQL看起来像下面这样,您可以为选定的列设置别名,以便它们Map/对应于ClassA/ClassB上的属性名称:

select a.value1 as ClassOfA_InventoryOnHand, 
   a.ProjectedSales as ClassOfA_ProjectedSales, 
   b.ExpectedReturns as ClassOfB_ExpectedReturns, 
from a, b

字符串

相关问题