为抽象类Scala Slick创建映射列类型

为抽象类Scala Slick创建映射列类型,scala,slick,slick-2.0,Scala,Slick,Slick 2.0,我正在尝试为我拥有的抽象案例类创建一个MappedCOlumnType sealed abstract class Address(address: String) implicit val addressToString = MappedColumnType.base[Address, String]( addr => addr.address, addr => AddressUtil.address(addr) ) 但我收到一个编译器错误,说明: value addre

我正在尝试为我拥有的抽象案例类创建一个
MappedCOlumnType

sealed abstract class Address(address: String)
implicit val addressToString = MappedColumnType.base[Address, String](
  addr => addr.address,
  addr => AddressUtil.address(addr)
)
但我收到一个编译器错误,说明:

value address is not a member of com.suredbits.core.protocol.Address
[error]  Note: implicit value addressToString is not applicable here because it comes after the application point and it lacks an explicit result type
[error]   {addr => addr.address } , { addr => AddressUtil.address(addr) }

当我将
地址
明确声明为case类中的字段时。我觉得这对我来说可能是一个极其愚蠢的错误。为什么我的地址字段不可见

示例中的
地址
是构造函数的私有地址。要使用getter将其公开,请在其前面添加
val
,如下所示:

sealed abstract class Address(val address: String)