'de birçok rasgele sütun seçilmesi Bir görünümde Slick'te SELECT *
tarzı bir sorgu çalıştırmaya çalışıyorum. İdeal olarak, bir sütun adları kümesini Seq[String]
olarak geçirebileceğiniz ve SELECT col1, col2, ... FROM view
sorgusunu yürütecek bir işlevle sonuçlanırdım. Bu mümkün değilse, tüm sütunları (SELECT * FROM view
) döndürmek kabul edilebilir.Slick
Bu görünüm için bir Table
sınıfını ve eşlik eden bir vaka sınıfını tanımlayarak bunu yapabileceğimi biliyorum, ancak bu görüntülerin bazıları yüzlerce sütun içeriyor (iç içe geçirilmiş tuples gerektirir; tuples) ve bunu yapmak için çok fazla görüş var, yani yazmak/üretmek/korumak için çok fazla kod var. Mümkünse bundan kaçınmak isterim.
Bu Slick'te yapılabilir mi? Statik koddaki sütunları tanımlamak zorunda kalmadan bir Table
sınıfını tanımlayarak (bir dinamik sütun dizesi listesiyle bazı sınıfları başlatabilirsiniz), ya da sql"""..."""
'u kullanarak bir SQL sorgusu oluşturarak ve bir şekilde bir sütun kümesini döndürmek üzere bir şekilde .as[...]
elde etmek için keyfi uzunluk
Gerçek sütun türleriyle özel bir şey yapmam gerekmiyor: veritabanı tarafında, türlerin bir karışımı var, ancak bunların tümü, Slick tarafında metin sütunları olarak ele alınırsa Bana uyar.
İlginç bir soru, sadece bir not olarak, sütun sınırı artık daha yeni sürümlerde kaldırıldı. –
@ EndeNeu'nun yorumunu takip etmek için bkz. Http://slick.typesafe.com/doc/2.1.0/userdefined.html#using-custom-record-types-in-queries. –