我想使用自己的函数来处理不同的数据库表。在我使用SQLite时,表格是使用自定义类填充的。 我试图递归填充它们,所以我创建了这个结构和数组:
public class cCodesPair
{
public string cCodeKey { get; set; }
public Type CommonCodeClass { get; set; }
public cCodesPair(string key, Type o)
{
this.cCodeKey = key;
this.CommonCodeClass = o;
}
}
private cCodesPair[] codesPairs = new cCodesPair[]
{
new cCodesPair("DESC_UNITS", typeof(SQLEventUnits)),
new cCodesPair("DESC_DISCIPLINE", typeof(SQLDisciplines)),
new cCodesPair("DESC_COUNTRY", typeof(SQLCountries)),
new cCodesPair("DESC_VIDEOS", typeof(SQLVideos)),
new cCodesPair("DESC_ATHLETES", typeof(SQLAthletes))
};
创建这个的想法是循环遍历数组以创建查询表并为每个填充字典。
尝试这样做的功能是:
public void Load<T>(T t, SQLiteConnection conn) where T : Type
{
try
{
var query = conn.Table<T>;
//MORE CODE...
} catch (Exception ex)
{
Debug.WriteLine("Exception")
}
}
循环遍历数组并调用Load
函数的函数如下:
private async Task fillDictionaries()
{
for (int i = 0; i < codesPairs.Length; i++)
{
MasterDescriptions m = new MasterDescriptions();
Type t = codesPairs[i].CommonCodeClass;
m.Load(t, conn);
}
}
但是我知道被查询的表是一个名为Type
的表。
我希望得到表格SQLEventUnits
,SQLDisciplines
等。
谁知道怎么样?
提前谢谢!
答案 0 :(得分:0)
您了解Microsoft企业库吗? https://msdn.microsoft.com/en-us/library/ff648951.aspx
确实要实现的目标。 另一个参考: http://www.codeproject.com/Tips/657233/Enterprise-Library-6-Sqlite-Logging-and-Exceptions