【发布时间】:2010-12-05 03:52:27
【问题描述】:
我曾经从一些开发人员那里听说 L2S 不可扩展。 我不确定我是否完全理解这意味着什么。 我想这与您应用程序中的图层有关(前提是您的 应用程序是分层的)。 有人可以解释一下这个问题吗?
谢谢, 视频
【问题讨论】:
我曾经从一些开发人员那里听说 L2S 不可扩展。 我不确定我是否完全理解这意味着什么。 我想这与您应用程序中的图层有关(前提是您的 应用程序是分层的)。 有人可以解释一下这个问题吗?
谢谢, 视频
【问题讨论】:
考虑到Stack Overflow uses it 并且它不是一个小站点,我认为它的扩展性相当好。
【讨论】:
即使您的集合很小,代码生成器生成的 SQL 也永远不会像手工编写的 SQL 那样优化,尤其是在获得良好的执行计划高度依赖于选择正确的索引的情况下。
假设您手动编码这些情况并使用 SP,在数据非常大的情况下,无论您的数据库引擎是否可以帮助您,您都需要很多技巧来有效地使用内存。
但每个抽象都有限制。
【讨论】:
这更多的是功能可扩展性。如果您查看 LINQ 生成的域对象,您会注意到很多膨胀,如果您要迁移到另一个持久性框架(如 NHibernate),这可能变得不必要。一种选择是推出您自己的更抽象的领域层,并将您生成的领域映射到抽象领域。保持你的领域层“无膨胀”允许你在不同的持久性框架中重用它。 L2S 不是很擅长。 其他方面可能包括性能,但我认为这在以后的版本中有所改进?
【讨论】: