Linq to sql 为什么Linq对实体的影响更大;硬的;这是SQL的关键

Linq to sql 为什么Linq对实体的影响更大;硬的;这是SQL的关键,linq-to-sql,linq-to-entities,Linq To Sql,Linq To Entities,为什么在Linq to实体中我需要指定与Include(字符串)的关系?Linq到SQL不需要这样做 这是开发人员的选择还是限制 另一个问题是,LINQtoSQL更像是“POCO”类,LINQtoEntities太复杂了。LINQtoEntities(实体框架)比LINQtoSQL复杂得多,但它更复杂,因为它允许更大的灵活性 在Linq到SQL中,数据库表和内存中的.NET类之间基本上是1:1的映射。对于许多简单的场景来说,这是很好的,而这正是LINQtoSQL真正闪耀的地方 但在更大、更复杂的

为什么在Linq to实体中我需要指定与Include(字符串)的关系?Linq到SQL不需要这样做

这是开发人员的选择还是限制

另一个问题是,LINQtoSQL更像是“POCO”类,LINQtoEntities太复杂了。

LINQtoEntities(实体框架)比LINQtoSQL复杂得多,但它更复杂,因为它允许更大的灵活性

在Linq到SQL中,数据库表和内存中的.NET类之间基本上是1:1的映射。对于许多简单的场景来说,这是很好的,而这正是LINQtoSQL真正闪耀的地方

但在更大、更复杂的企业场景中,这可能是不够的。实体框架和Linq to Entities允许您拥有一个独立的概念模型(您的.NET对象),该模型不必以1:1的比例绑定到数据库结构(继承、将多个表合并到单个对象中以及更多这些表)。虽然这听起来可能太复杂,太复杂,但在许多高级场景中,这是一个救命稻草,是必须具备的功能

因此,我不认为可以将Linq与SQL和Linq与实体(EF)相互比较——它们实际上是针对不同的、独立的问题空间设计的,有不同的需求,因此也有不同的编程方法/风格

如果LINQtoSQL对您和您的需求来说足够好——太好了——那么一定要使用它

Marc

LINQtoEntities(实体框架)比LINQtoSQL复杂得多,但它更复杂,因为它允许更大的灵活性

在Linq到SQL中,数据库表和内存中的.NET类之间基本上是1:1的映射。对于许多简单的场景来说,这是很好的,而这正是LINQtoSQL真正闪耀的地方

但在更大、更复杂的企业场景中,这可能是不够的。实体框架和Linq to Entities允许您拥有一个独立的概念模型(您的.NET对象),该模型不必以1:1的比例绑定到数据库结构(继承、将多个表合并到单个对象中以及更多这些表)。虽然这听起来可能太复杂,太复杂,但在许多高级场景中,这是一个救命稻草,是必须具备的功能

因此,我不认为可以将Linq与SQL和Linq与实体(EF)相互比较——它们实际上是针对不同的、独立的问题空间设计的,有不同的需求,因此也有不同的编程方法/风格

如果LINQtoSQL对您和您的需求来说足够好——太好了——那么一定要使用它


Marc

奇怪的是,我无法在实体框架中工作,因为在从视图派生的实体上设置键很困难,所以我当前的疯狂方案(视图覆盖两个数据库,以将单个接口表示为跨数据库的逻辑对象)。Was cake with LinqToSql.dblinq意味着您可以在任何第三方数据库(即MySQL、PostgreSQL等)中使用LINQ to SQL。奇怪的是,我无法获得我当前疯狂的方案(视图覆盖两个数据库,以将单个接口呈现为跨数据库的逻辑对象)无法在实体框架中工作,因为难以在从视图派生的实体上设置键。Was cake with LinqToSql.dblinq意味着您可以将LINQ to SQL用于任何第三方数据库(即MySQL、PostgreSQL等)。