我有一个类似架构的表:
CREATE TABLE [dbo].[Property](
[id] [uniqueidentifier] NOT NULL,
[PropertyOccupantTypeId] [uniqueidentifier] NULL,
[PropertyStatusId] [uniqueidentifier] NOT NULL
-- Other potential columns
)
它有很多查找值,我的用户不需要知道任何事情。他们只需要PropertyStatus
而不是PropertyStatusId
假设查找表各有2列(guid:id,varchar:value)有没有办法编写类似于的查询:
SELECT p.id,
po.value as OccupantType,
ps.value as PropertyStatus
-- Other potential columns
FROM Property p
join PropertyOccupantType po on p.PropertyOccupant = po.id
join PropertyStatus ps on p.PropertyStatusId = ps.id
并将该地图设置为Property
对象,如下所示:
public class Property
{
public Guid id;
public string PropertyOccupant;
public string PropertyStatus;
}
或者我是否需要手动查询其他表并以这种方式映射值?
答案 0 :(得分:2)
这应该可以正常工作。 Dapper不关心你写的是什么查询。它只是将结果集中的列名与对象的属性名匹配。