我正努力做到以下几点:

我正在与安卓机房合作。
代码中的:
@Entity(tableName = "BookReadingSchedule")
data class BookReadingSchedule(
@PrimaryKey
@ColumnInfo(name = "schedule_id")
val id: Long = 0,
val name: String = ""
)
@Entity(tableName = "Books")
data class Books(
@PrimaryKey
@ColumnInfo(name = "book_id")
val id: Long = 0,
val title: String = ""
)
@Entity(
tableName = "BooksToRead"
foreignKeys = [
ForeignKey(
entity = BookReadingSchedule::class,
parentColumns = ["BookReadingSchedule_id"],
childColumns = ["to_book_id"],
onDelete = ForeignKey.CASCADE,
onUpdate = ForeignKey.CASCADE
)
]
)
data class BooksToRead(
@PrimaryKey
@ColumnInfo(name = "id")
val id: Long = 0,
val title: String = ""
@ColumnInfo(name = "to_book_id", index = true)
val book_id: Long,
)试图建立这种关系,但是,我不确定这是否完全正确。我曾在微软( MS )中与LINQ C#合作过,但从未在安卓系统上做过这么多。我在用Kotlin。
我检查过的链接(在这里发布之前):
编辑:的想法是,对于每一个计划,将只有少数几本书被选中包括在该计划中。
发布于 2022-10-06 14:44:47
您的@ColumnInfo(name = "schedule_id")应该是对应表的parentColum。所以你需要这样的东西
@Entity(
tableName = "BooksToRead"
foreignKeys = [
ForeignKey(
entity = BookReadingSchedule::class,
parentColumns = ["schedule_id"],
childColumns = ["to_schedule_id"],
onDelete = ForeignKey.CASCADE,
onUpdate = ForeignKey.CASCADE
),
ForeignKey(
entity = Books::class,
parentColumns = ["book_id"],
childColumns = ["to_book_id"],
onDelete = ForeignKey.CASCADE,
onUpdate = ForeignKey.CASCADE
)
]
)https://stackoverflow.com/questions/73975496
复制相似问题