我曾经从一些开发人员那里听说过L2S不具备可扩展性。 我不确定我完全明白这意味着什么。 我想这与你的应用中的图层有关(提供你的 应用程序是一个分层的)。 有人可以就这个问题说清楚吗?
谢谢, 阿维
答案 0 :(得分:2)
这更像是一种功能可扩展性。如果你看看你的LINQ生成的域对象,你会发现很多膨胀,如果你转移到另一个持久性框架,如NHibernate,这可能变得没有必要。一种选择是推出自己的更抽象的域层,并将生成的域映射到抽象域。保持域层“无膨胀”允许您使用不同的持久性框架重用它。 L2S不是很擅长。 其他的事情可能包括性能,但我认为这在以后的版本中有所改进?
答案 1 :(得分:2)
我认为它合理地扩展,考虑到Stack Overflow uses it并且它不是一个小网站。
答案 2 :(得分:1)
即使你的集合很小,代码生成器生成的SQL永远不会像手工编写的SQL那样优化,特别是如果获得一个好的执行计划高度依赖于选择正确的索引。
假设您手动编写这些案例并使用SP,在数据非常大的情况下,无论您的数据库引擎是否可以帮助您,您都需要很多技巧才能有效地使用内存。
但每个抽象都有限制。