我正在使用Xamarin.Forms .Net Standard 1.4库和SQLite nuget。
我为我的数据库表/记录创建类,如下所示:
select *
from table1 t1
where exists
(
select 1
from table1 t2
where t1.prim_key = t2.prim_key
and t2.hire_date between '2017-01-01' AND '2017-01-30'
)
我可以使用
创建/插入表/记录namespace MyNamespace
{
[Table("my_table")]
public class MyRecord
{
[PrimaryKey, AutoIncrement, Column("_id")]
public int ID { get; set; } = -1;
[Unique, NotNull, Column("GUID")]
public Guid GUID { get; set; } = Guid.NewGuid();
public string Field1 { get; set; }
public string Field1 { get; set; }
}
}
我发现自己处于一个表在编译时没有已知列的情况,所以我无法创建一个类来描述它。有没有一种简单的方法可以动态生成一个类?
假设在运行时我需要创建一个包含以下列(所有文本)“NewField1”,“NewField2”的表。我意识到我可以为数据生成SQL命令。但是我失去了SQLite包装器的便利性。
我想动态创建一个类并根据需要添加属性,这样我仍然可以使用CreateTable<>和插入()等。这可能吗?会有效吗?或者我最好只使用Dictionary并创建SQL命令。