相关疑难解决方法(0)

如何使用Dapper ORM获取子对象的值?

我正在使用以下内容检索个人资料详细信息:

var profiles = connection.Query<Models.PROFILE>(
    "SELECT * FROM PROFILES WHERE ID=@ID", 
    new { ID = profileID }); // IEnumerable
var profile = profiles.First<Models.PROFILE>();
Run Code Online (Sandbox Code Playgroud)

profile对象包含其他集合,如profileImages.问题是每个子对象的项目计数为零.另外,我只想获取数据,例如,profileImages.

是否需要设置某些内容来查询子对象,如果有,是否可以指定哪个级别和多少级别?

我也试过多重映射:

var profiles = connection.Query<Models.PHOTOS_PERMISSIONS,
                                Models.PROFILE,
                                Models.PHOTOS_PERMISSIONS>(sql,
                    (p1, p2) => { p1.ID = profileID; return p1; }, 
                    new { ID = profileID }, 
                    splitOn: "OWNER_PROFILESIDFK, ID").AsQueryable();

PHOTOS_PERMISSIONS.OWNER_PROFILESIDFK = PROFILE.ID
Run Code Online (Sandbox Code Playgroud)

并收到以下错误:

使用多映射API时,如果您具有Id参数名称以外的键,请确保设置splitOn参数:splitOn

我尝试过我的splitOn文本中的变体,但仍然会得到相同的错误.

orm c#-4.0 dapper

5
推荐指数
1
解决办法
9186
查看次数

标签 统计

c#-4.0 ×1

dapper ×1

orm ×1