我正在为我的项目使用Linq-to-SQL,但是我听说过T4模板代码生成器?是否T4模板比Linq-To-SQL数据上下文更好?Linq-to-SQL vs T4模板
回答
你在混合两件事。 LINQ to SQL是一个O/RM工具,就像NHibernate,Entity Framework,LLBLGen等一样。 T4是一个代码生成器工具。它们不是相互排斥的。
有用于LINQ to SQL的T4模板,允许您以不同于LINQ to SQL代码生成器执行的方式生成LINQ to SQL实体和DataContext
。但是,使用LINQ to SQL而不使用DataContext
是不可能的。当你不使用DataContext
时,你并没有使用LINQ to SQL。
然而使用T4模板生成实体和DataContext
可能是有益的。您将看到特定模板的优点,并决定这对您是否有用,或者不是。例如,codeplex上的L2ST4模板项目与L2S自身生成的代码非常相似,但允许您根据自己的需要更改模板。
T4是一个文本生成系统。使用它来编写数据访问可能是可能的,但不推荐。它不能被认为是更好或更差的L2S数据上下文,因为它们并不真正共享目的。
我建议如果L2S限制你,那么你需要考虑备用的ORM。有很多选择。看看NHibernate,Entity Framework或LLBLGen Pro。
这不是一个“Linq-to-SQL”或“T4”的问题,实际上 - 这些都是完全不同的东西。
T4生成代码或任何类型的文本文件,真的。这是一个代码生成技术。
Linq-to-SQL是一个ORM - 对象关系映射器 - 将SQL Server表映射到.NET域对象 - 完全不同的球赛。
事实上,甚至有一套T4模板来生成Linq-to-SQL实体和数据上下文类 - check it out on Codeplex - 优秀的东西!
如果你喜欢LINQ to SQL,那么我强烈建议你看看PLINQO。 PLINQO是一个开源(基于模板,如T4)的ORM,它不仅生成LINQ to SQL实体,还为框架添加了许多修复和增强功能。
是的,PLINQO需要CodeSmith Generator,但是有一个PLINQO促销,你需要做关于PLINQO的博客或推特,你可以免费获得CodeSmith的副本!
享受! -Tom DuPont(PLINQO开发团队成员)
- 1. VS 2015中的T4模板
- 2. T4模板和Assembly.Load
- 3. IEnumerable T4模板
- 4. T4模板新手问题
- 5. T4模板错误
- 6. T4模板拦截
- 7. T4文本模板与IList
- 8. 使用T4模板ENum的
- 9. T4模板Linq不工作
- 10. T4模板:如何创建子模板?
- 11. T4模板和Visual Studio项目模板
- 12. LinqToXml VS LinqToSql
- 13. 用T4模板反射
- 14. T4中的RenderPartial()模板
- 15. T4模板组装指令
- 16. 访问T4模板编程
- 17. 递归块T4模板
- 18. T4模板和使用Server.Mappath
- 19. 移动由T4模板
- 20. T4模板保存为Unicode
- 21. T4运行模板部署
- 22. T4模板获取属性
- 23. 评论中T4模板
- 24. 自动运行T4模板
- 25. 用于PublicResXFileCodeGenerator的T4模板
- 26. 调试T4模板VS2013
- 27. ASP.NET MVC的Spark T4模板
- 28. T4模板LINQ问题
- 29. T4模板相对路径
- 30. T4模板实现接口