title: How to create projection class for complex case class in slick?
body: <p>For example I have this case class:</p>
  
  <pre><code>case class User(
    var identityId: IdentityId, //Its a user created class
    var firstName: String,
    var lastName: String,
    var fullName: String,
    var email: Option[String],
    var avatarUrl: Option[String],
    var authMethod: AuthenticationMethod,
    var oAuth1Info: Option[OAuth1Info] = None,
    var oAuth2Info: Option[OAuth2Info] = None,
    var passwordInfo: Option[PasswordInfo] = None) extends Identity {
  
    def this() = this(null, "", "", "", None, None, null, None, None, None)
  
  }
  </code></pre>
  
  <p>Its actually a securesocial identity, now identityId is an object of case class:</p>
  
  <pre><code>case class IdentityId(
  var userId:String,
  var providerId:String
  )
  </code></pre>
  
  <p>So how do I create a projection class for situations like, this?? If I had to create a projection class datatypes like String,Int it would have been no problem but what about user defined objects and classes??</p>