我正在为我的项目使用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. T4模板新手问题
- 4. T4模板拦截
- 5. T4模板错误
- 6. T4文本模板与IList
- 7. T4模板:如何创建子模板?
- 8. T4模板和Visual Studio项目模板
- 9. 访问T4模板编程
- 10. T4模板组装指令
- 11. 自动运行T4模板
- 12. ASP.NET MVC的Spark T4模板
- 13. 调试T4模板VS2013
- 14. T4模板保存为Unicode
- 15. T4模板和使用Server.Mappath
- 16. T4模板多输出
- 17. T4模板相对路径
- 18. T4运行模板部署
- 19. 评论中T4模板
- 20. 用T4模板反射
- 21. 递归块T4模板
- 22. EntityFramework T4模板的位置
- 23. T4模板获取属性
- 24. T4模板转换服务
- 25. T4模板空白控件
- 26. VS 2010中的T4模板无法找到Metada文件SubSonic.Core.dll
- 27. 添加自定义T4模板DDL生成模板DROPDOWNLIST
- 28. 灿T4模板使用相同的库
- 29. 用新名称生成T4模板库
- 30. T4模板和运行时参数