对于令人困惑的标题感到抱歉,我不确定如何以不同的方式说出来......
好的,这是问题所在:
我有一个名为“Products”的表,主键是“Product”。通常,这不会导致任何问题。但是,我正在切换到SubSonic 3,它使所有表格变得单一。因此,当我重建T4模板时,它会抛出一个错误,因为它将列重命名为“ProductX”但不更新其余代码。例如,这出错了:
public IQueryable<Product> Products
{
get
{
var repo=AM.Inventory.Library.SonicData.Product.GetRepo();
return from items in repo.GetAll()
where items.Product == _Product
select items;
}
}
但是,如果我把它改为:
public IQueryable<Product> Products
{
get
{
var repo=AM.Inventory.Library.SonicData.Product.GetRepo();
return from items in repo.GetAll()
where items.ProductX == _Product
select items;
}
}
代码将构建得很好。如果我不得不这样做一次或两次,那很好......但每当我重建T4文件时,我都必须手动更新文件。
有什么方法可以避免这种情况吗?
谢谢, 安德鲁
答案 0 :(得分:1)
修改您的T4模板。这就是他们的目的。
在ttincludes中查找MakeSingular(),MakePlural(),Cleanup(),添加“X”的代码在ActiveRecord.tt中。哈哈!!!“
实际上,这听起来像是命名代码中的一个错误,所以这可能是通过压缩错误来做出贡献的时候。