Есть ли способ представить две сущности с отношениями внешних ключей в файлах классов, учитывая, что F # должен располагать файлы по порядку?
Скажем, у меня есть пользователь, а у пользователя есть книги.
type User(books:seq<Book>) :
mutable _books = books
member public x.Books
with get() = _books
and set bookList = _books <- bookList
type Books(parentUser:User) :
mutable _parentUser = parentUser
member public x.ParentUser
with get() = _parentUser
and set newParentUser = _parentUser <- newParentUser
Теперь, из-за того, как работает F #, он не будет компилироваться, поскольку это в основном циклическая ссылка.Пользователь предшествует Книге, поэтому он не знает, что такое книга.Если я переместу класс книги вверх, то произойдет обратное.
Есть ли способ обойти весь "Компилировать по порядку", как работает F #, или мне нужно настроить сущности и отношения на другом языке?