Fel*_*oto 1 linq-to-entities linq-to-sql
为什么在Linq to Entities中我需要指定与Include(字符串)的关系?Linq to SQL不需要.
这是开发人员的选择还是限制?
另一个问题,Linq to SQL更多是"POCO"类,Linq to Entities太复杂了.
mar*_*c_s 10
Linq to Entities(实体框架)比Linq-To-SQL复杂得多 - 但它更复杂,因为它允许更多的灵活性.
在Linq-to-SQL中,您基本上可以在数据库表和内存中的.NET类之间获得1:1的映射.这对于许多更简单的场景来说都很好,而这正是Linq-to-SQL真正闪耀的地方.
但在更大,更复杂的企业场景中,这可能还不够.实体框架和Linq-to-Entities允许您拥有一个单独的概念模型(您的.NET对象),它不一定以1:1为基础与数据库结构相关联(继承,将多个表合并为一个对象和更多的那些).虽然这可能听起来太复杂和太复杂,但在许多高级场景中,这是一个节省生命和必备功能.
所以我认为你不能将Linq-to-SQL和Linq-to-Entities(EF)相互比较 - 它们真的是针对不同的,独立的问题空间,具有不同的要求,因此也有不同的方法/风格编程.
如果Linq-To-SQL对您和您的要求足够好 - 非常好 - 请务必使用它!
渣