У меня есть два класса: BusLine и BusLineGroup. Каждая BusLine имеет одну группу в качестве внешнего ключа. В коде я запускаю простой LINQ-запрос, чтобы получить все шины:
Код: Выделить всё
var testQuery =
from busLine in this._connection.Table()
select busLine;

Что я делаю неправильно? Почему группа всегда равна нулю? Спасибо за помощь.
Классы в коде:
Код: Выделить всё
public class BusLine
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string Name { get; set; }
[ForeignKey(typeof(BusLineGroup))]
public int BusLineGroup { get; set; }
[ManyToOne]
public BusLineGroup LineGroup { get; set; }
}
public class BusLineGroup
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string Name { get; set; }
public string Color { get; set; }
public string MainStations { get; set; }
[OneToMany(CascadeOperations = CascadeOperation.All)]
public List BusLines { get; set; }
}
Две таблицы:
Код: Выделить всё
CREATE TABLE "BusLineGroup" (
`Id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
`Name` TEXT NOT NULL,
`Color` TEXT NOT NULL,
`MainStations` TEXT NOT NULL
);
CREATE TABLE "BusLine" (
`Id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
`Name` TEXT NOT NULL,
`BusLineGroup` INTEGER NOT NULL,
FOREIGN KEY(`BusLineGroup`) REFERENCES `BusLineGroup`(`Id`)
);
Установленные пакеты Nuget:
- MvvmCross.Plugin.SQLitePCL
- SQLiteNetExtensions
Подробнее здесь: https://stackoverflow.com/questions/364 ... lways-null
Мобильная версия