Xamarin projemde "SQLite.NET" bileşenini kullanıyorum. "Belge", "Proje" gibi birkaç "model/sınıf" var. Her modelin kendi SQLite Tablosu vardır.Xamarin SQLite.NET Generic TableQuery
List<Document> documents = new SQLiteConnection("..DB-path..").Table<Document>.ToList();
Düzgün çalışır, ancak her tablo için ben aynı kodu yapmak ve sadece Modeli tipi değişen zorunda:
i aşağıdaki tekniğini kullanıyorum tablodan veri almak için Yukarıdaki kod. ŞimdiBen Yapabileceğim genel bir yöntem yazmak istiyorum:
List<T> data = new SQLiteConnection("..DB-path..").Table<T>.ToList();
Ama ne yazık ki, aşağıdaki hatayı alıyorum:
'T' must be a non-abstract type with a public parameterless constructor in order to use it as parameter 'T' in the generic type or method 'SQLiteConnection.Table()'
herkes bir jenerik oluşturmak için bir yol biliyor mu Yukarıdaki problem için yöntem?
Şimdiden teşekkürler!
Genel türler kullanarak kod satırınızı içeren tüm yöntemi ekleyebilir misiniz? T'yi nasıl ilan ediyorsunuz? Bir yan not olarak, veritabanına her eriştiğinizde yeni bir 'SQLiteConnection 'oluşturmanız gerekmez, aslında bir singleton bağlantısı kullanmak daha iyi bir uygulama olarak kabul edilir. – dylansturg
Ayrıca, genel sorguları da isterseniz, şu adresi kontrol edin: http://stackoverflow.com/questions/29050400/generic-repository-for-sqlite-net-in-xamarin-project/29856945#29856945 – xleon