Как создать и выбрать 2 внешних ключа для одной и той же таблицы в Xamarin, используя SQLite и SQLExtensions - PullRequest
0 голосов
/ 09 мая 2019

У меня есть следующая таблица:

[Table("Users")]
public class User
{
    [SQLite.PrimaryKey]
    public long UserID { get; set; }

    public string Name { get; set; }
}
[Table("Followers")]
public class Followers
{
    [PrimaryKey, AutoIncrement]
    public long ID { get; set; }

    [ForeignKey(typeof(User))]
    public long UserID { get; set; }

    [ForeignKey(typeof(User))]
    public long UserFollowerID { get; set; }

    User user = null;
    [OneToOne(CascadeOperations = CascadeOperation.CascadeInsert)]
    public User User { get; set; }

    User follower = null;
    [OneToOne(CascadeOperations = CascadeOperation.CascadeInsert)]
    public User Follower { get; set; }
}

Есть 2 свойства с внешним ключом для той же таблицы.Он работает нормально, когда регистры вставлены, но когда я выбираю детей с помощью SQLExtensions, свойства althoug UserID и UserFollowerID различаются, я получаю одного и того же пользователя в свойствах User и UserFollower.

public List<UserFollower> GetFollowers(long userID)
    {
        return sql.GetAllWithChildren<UserFollower>(x => x.UserID == userID);
    }

Я работаю с Xamarin и SQLiteNetExtensions 2.1.0

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...