我想在一张有大约600张桌子的桌子上使用PetaPoco,但我只想映射一些桌子。
有没有办法明确说明我想要映射的表? t4模板中的配置(tables["tablename"].Ignore = true
)并没有真正扩展到这种方法吗?
答案 0 :(得分:4)
我最终这样做了:
Tables tables = LoadTables();
foreach(Table t in tables)
{
if(!t.Name.Contains("all_user_group"))
{
t.Ignore = true;
}
}
答案 1 :(得分:2)
我做过类似的事情
var tablesToLoad= new string[] {
"TableOne",
"TableTwo",
"ViewOne",
"Etc" };
var tables = LoadTables();
foreach(var t in tables)
{
if(!tablesToLoad.Contains(t.Name))
{
t.Ignore = true;
}
}
答案 2 :(得分:1)
为了避免让T4模板填充忽略赋值,我创建了一个只能访问我需要的表的新数据库用户。
然后我将T4模板与数据库用户连接起来,而PetaPoco只看到了我需要的表格。