是否可以在项目中同时使用 LINQ 和 ADO.NET 实体数据模型? 我有一个基于以前用户的实体数据模型构建的项目 ADO.NET 并且具有 .edmx 文件,但我习惯于对所有内容进行硬编码,通过 ADO.NET 打开连接。
在 MVC 项目中同时使用两者是否存在问题?
我们可以查询 xml、lamda 表达式等,它更多,但主要用于 TSQL...)你可以编写针对 LINQ 到 SQL (.dbml) 或实体框架 (.edmx) 的 LINQ 查询,方法是创建每个的上下文,在调用方法时有一些差异,例如在 EF Object.AddToObject(o) 和 LINQ to SQL Object.InsertOnSubmit(o) 和 .Savechanges()/Submitchanges()LINQ to SQL仅支持MS SQL服务器,但EF也可以支持其他数据库,即MY SQL等
如果您在项目中使用这些中的任何一个,您仍然可以通过向方法提供正确的信息来在项目中的任何地方使用旧 Ado.net,或者像过去一样在打开连接后通过传递参数来调用存储过程......
Linq 只是一种用 C# 编写 sql 的方法。嗯,真的不止于此。但是在这种情况下,无论在哪里放置一些sql,您都会使用linq intead,因此就EF而言,它是不可知的。或任何其他框架。
真正的好处是,只要稍加思考,您就可以使用 sql 数据库以外的其他东西来实现持久性。
Linq 有两种
Linq To Objects 和 Linq to SQL
Linq to SQL 不适用于您的 ADO 模型,因为这需要直接链接到 SQL
但是 Linq to 对象将像任何其他对象一样轻松地处理 ADO 模型对象
实际上,这意味着,而不是在DB Linq中管理查询的构造,而是让ADO处理它,您不会看到任何区别