尝试在 Massive 中执行以下查询时,为什么会出现运行时绑定程序异常?
public dynamic Find(string email, string type)
{
dynamic result = new ExpandoObject();
result = this.Query(@"SELECT * FROM Addresses a
INNER JOIN Members m ON m.Id = a.MemberId
INNER JOIN AddressType at ON at.Id = a.AddressTypeId
WHERE m.Email = @0 AND at.Type = @1", new {email, type});
return result;
}
编辑以显示解决方案:我需要更改我的查询以确保只返回一个名为“Id”的列。我收到绑定错误,因为成员和地址中的多个列有一个名为“Id”的列。要在我的查询中获得一个结果,我必须将其修改为:
result = this.Query(@"SELECT a.* FROM Addresses a
INNER JOIN Members m ON m.Id = a.MemberId
INNER JOIN AddressType at ON at.Id = a.AddressTypeId
WHERE m.Email = @0 AND at.Type = @1", new object[] { email, type }).Single();
希望这对其他人有帮助。