我在过去的两年里一直在使用CodeSmith,并喜欢它为我做的事情.但是,我也知道T4内置于Visual Studio中,并且可以做一些很酷的东西.基于与VS2010中的朋友T4的对话,T4会更好.
所以问题是:我是否继续使用CodeSmith总线或是时候开始将我的所有模板转换为T4了?
更新 也许我对问题的解释方式并不清楚.显然,我不会删除我的cs模板并停止使用它们,直到我有新的模板工作.但是,在这一点上是否值得努力?T4在这一点上是否提供了优于CodeSmith的优势?是否有一些功能或一组功能,通过为T4编写我的模板,我会看到我的效率提高了100倍?
是否有任何Codesmith的免费/开源替代品可以在功能上进行比较并生成.NET代码?
要创建测试数据,我们使用Builder模式的以下变体(简化示例!):
样本类:
public class Person
{
   public string Name { get; set; }
   public string Country { get; set; }
}
建设者:
public class PersonBuilder
{
    private string name;
    private string country;
    public PersonBuilder()
    {
        SetDefaultValues();
    }
    private void SetDefaultValues()
    {
        name = "TODO";
        country = "TODO";
    }
    public Person Build()
    {
        return new Person
                   {
                       Name = name,
                       Country = country
                   };
    }
    public PersonBuilder WithName(string  name)
    {
        this.name = name;            
        return this;
    }
    public PersonBuilder WithCountry(string country)
    { …reflection resharper code-generation codesmith visual-studio
刚开始学习NHiberate.为每个数据库表编写适当的hbm.xml配置文件似乎相当繁琐.
问题是NHibernate可以读入表并自动检索关系,需要配置文件以及数据库映射器类吗?似乎程序员最初还是要做很多基础工作.然后我遇到了Codesmith,它获得了NHiberate的模板?它填补了这个空白吗?
有人将netTiers模板集移植到Visual Studio的T4模板吗?或者是否有类似范围的系统?有人在工作环境中使用T4吗?Codesmith和T4之间有什么(如果有的话)主要差异?
我使用Codesmith创建我们的代码生成模板,并通过查看示例模板和内置文档成功学习如何使用该工具.但是我想知道是否有其他资源(书籍,文章,教程等)可以更好地掌握Codesmith?
我正在购买ORM工具.我对购买CodeSmith(目前大幅折扣)和ORM工具感到痛苦.
LINQ to SQL不在我的列表中; SubSonic 2.x不在列表中(我不想投资那个知道SubSonic 3.0即将到来的死胡同.NHibernate看起来像LLBLGEN一样有点过分.我只是简单地评估了EF但是没有快速得到一个温暖而模糊的感觉.
我疯狂地认为CodeSmith是现成ORM的理性替代品吗?CodeSmith会以其他方式为自己买单吗?
请注意,我与任何供应商没有任何关系,这不是一个便宜的镜头问题只是为了产生产品噪音!我正在寻找关于CodeSmith作为ORM工具(提供或社区可用)模板的诚实建议和意见.
我对优点和缺点有疑问,当我比较netTiers(与 codesmith)和Entity Framework
这个问题被问了很多次netTiers(与 codesmith 一起),我发现的所有主题都非常古老,Entity Framework可能比当时变得如此流行的时间更早。
我实际上很舒服Entity framework(不精通,但我喜欢它并且我netTiers经常使用它)并且不太接近(使用 codesmith),这就是为什么我想知道当我看到netTiers复杂的项目时要决定什么。一种选择是留下来面对面处理所有我认为需要大量时间的问题。另一个 - 使用来自 Microsoft 的已管理和预先设计的精美实用程序(entity framework在我花了几天的时间后,这对我来说似乎很漂亮netTiers)。