我有下表:
[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与孩子选择时,所有的属性UserID和UserFollowerID都不相同,我在属性User和UserFollower中获得了相同的User。
public List<UserFollower> GetFollowers(long userID)
{
return sql.GetAllWithChildren<UserFollower>(x => x.UserID == userID);
}
我正在使用Xamarin和SQLiteNetExtensions 2.1.0
谢谢!