我有一个 CTE ,它返回下表:
m_ids |gp_id |id |m_id |id |type|id |type|qty|...
------|------|---|-----|---|----|---|----|---|---
列m_ids
,gp_id
和m_id
用于加入,必须删除。然后数据进入恶意方面,Dapper会处理列名的模糊性,所以这不是问题。
问题是如何从数据中删除某些列,因为dapper将查看列的顺序以创建实体。
我不能只选择所有必需的列,因为有很多相同的名称(即使我可以,这可能是一个坏主意,因为 很多 我需要的列。)
任何人都可以帮助我吗? 必须保留数据的顺序,最后它应该看起来像这样:
id |id |type|id |type|qty|...
---|---|----|---|----|---|---
编辑:返回该数据的查询看起来像这样:
select
m1.*,
m2.*
from
pairs p
inner join materials m1 on m1.id=p.id1
inner join materials m2 on m2.id=p.id2
答案 0 :(得分:0)
事实证明,当在一行中返回多个实体时,Dapper使用列id
作为分隔符,因此诀窍是确保所有过多的列都放在任何实体末尾的某处,Dapper会忽略它。所以我把这些列放在这样的顺序中,就是这样:
id |id |type|m_ids |gp_id |m_id |id |type|qty|...
---|---|----|------|------|-----|---|----|---|...