Uzantıyı MvvmCross 4'te kullanmaya çalışıyorum. Yapmaya çalıştığım şey basit: Bire çok ilişki içeren iki tablo var ve buna erişmek istiyorum.Sqlite-net uzantıları ilişkileri her zaman sıfır
İki sınıfım var, BusLine
ve BusLineGroup
. Her BusLine'in yabancı bir anahtar olarak bir Grubu vardır.
var testQuery =
from busLine in this._connection.Table<BusLine>()
select busLine;
sorgu kendisi çalışır, ancak ben iade nesnelerin alanlarını kontrol ederseniz Grup null
hep: Ne kodda yaptığım Buslines almak için basit bir LINQ-Sorgu çalıştırılır!. Sınıf ve tablo tanımları için aşağıya bakın. Yanlış yapıyorum
? Grup neden her zaman null
? Yardım ettiğin için teşekkür ederim. kodunda
sınıfları:
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<BusLine> BusLines { get; set; }
}
iki tablo:
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`)
);
yüklü Nuget-Paketler:
- MvvmCross.Plugin.SQLitePCL
- SQLiteNetExtensions
Not: MvvmCross paket otomatik SQLite.Net-PCL içerir. Yani bu ikisinin her ikisi de aynı PCL'yi kullanıyor.
Bunu nasıl özleyeceğimi bilmiyorum ... Teşekkürler, şimdi çalışıyor – Felix
Bir uzantı ilişkisinin (ManyToOne) boş olma ölçütlerini temel alarak kayıtları seçmeye çalıştığımda boş bir başvuru istisnası alıyorum. NPE atar, bu sadece anlamsız olup olmadığını kontrol etmemden dolayı anlamsızdır. Seçerken henüz hazır olmayan ilişkiyle ilgili bir şey var mı? –
@JamesWierzba Farklı bir soru gibi geliyor. Sorgularınızdaki ilişkileri kullanamazsınız, çünkü bu özellikler sqlite.net tarafından göz ardı edilir. – redent84