使用LINQ和ADO.NET实体数据模型

时间:2013-02-03 10:45:50

标签: asp.net-mvc linq entity-framework

是否可以在项目中一起使用LINQ和ADO.NET实体数据模型?我有一个基于以前用户的ADO.NET实体数据模型构建的项目,并且有.edmx文件,但我习惯于硬编码所有内容,通过ADO.NET打开连接。

在MVC项目中同时使用两者有问题吗?

3 个答案:

答案 0 :(得分:1)

LINQ(语言集成查询)是C#中的TSQL(是的,我们可以查询xml,lamda表达式等等,但主要用于TSQL ...)你可以编写针对LINQ to SQL的LINQ查询( .dbml )OR Entity Framework( .edmx)通过创建每个的Context,在EF Object.AddToObject(o)和LINQ to SQL Object.InsertOnSubmit(o)和.Savechanges等调用方法中有一些差异。 ()/的SubmitChanges() LINQ to SQL仅支持MS SQL服务器,但EF也支持其他数据库,即MY SQL等

如果您在项目中使用其中任何一个,您仍然可以在项目的任何位置使用旧的Ado.net ,方法是提供适当的信息或通过在打开连接后传递参数来调用存储过程我们过去做过......

答案 1 :(得分:0)

Linq只是一种用C#编写sql的方法。嗯,这比真的要多得多。但是在这种情况下你可以使用linq intead,因此就EF而言它是不可知的。或者任何其他框架。

真正的好处是,您可以使用sql数据库以外的其他东西来保持持久性。

答案 2 :(得分:0)

有两种Linq

Linq To Objects和Linq to SQL

Linq to SQL无法处理您的ADO模型,因为它需要直接链接到SQL

但是Linq to objects将像其他任何

一样轻松地处理ADO模型对象

实际上所有这些意味着,不是在DB中管理查询的构造Linq会让ADO处理它,你不会看到任何差异