【发布时间】:2016-03-29 09:40:57
【问题描述】:
我在我的 Xamarin 项目中使用组件“SQLite.NET”。 我有几个“模型/类”,如“文档”、“项目”。 每个模型在 SQLite 中都有自己的表。
为了从表中获取数据,我使用了以下技术:
List<Document> documents = new SQLiteConnection("..DB-path..").Table<Document>.ToList();
它工作正常,但是对于每个表我必须执行相同的代码,并且只更改上面代码中的模型类型。
现在我想写一个通用的方法,我可以这样做:
List<T> data = new SQLiteConnection("..DB-path..").Table<T>.ToList();
但不幸的是,我收到以下错误:
“T”必须是具有公共无参数构造函数的非抽象类型,才能将其用作泛型类型或方法“SQLiteConnection.Table()”中的参数“T”
有人知道为上述问题创建通用方法的方法吗?
提前致谢!
【问题讨论】:
-
您能否使用泛型类型包含包含您的代码行的整个方法?你如何声明
T?附带说明一下,您不需要每次访问数据库时都创建一个新的SQLiteConnection,事实上,使用单例连接被认为是更好的做法。 -
如果您还想要通用查询,请查看:stackoverflow.com/questions/29050400/…
标签: android xamarin sqlite.net