我之前有个问题,我指的是工厂和模板。解决了我的问题。除了使用nuget包System.Data.SQLite时的特定问题之外。我的问题是进行查询时。您必须明确命名要查询的表。例如,
public IEnumerable<Base> GetData(Base matchThis)
{
var query = from entry in connection.Table<Base>()
where entry.x == matchThis.x
where entry.y == matchThis.y
select entry;
return query.AsEnumerable();
}
所以,如果我更改
connection.Table<Base>()
收件人
connection.Table<derA>()
它正常工作。
但是,我使用模板的尝试无效...
public IEnumerable<Base> GetClass<T>() where T : class
{
var t = Activator.CreateInstance<T>() as Base
var query = from entry in database.Table<t>()
...
...
...
我得到-t是一个变量,但像类型一样使用。该错误是有道理的,但我看不出该如何解决。
那么,这是正确的方法吗?我还是没有正确使用模板,还是有另一种方法?