我对Linq和SQL都不是很擅长。但是我使用SQL更多地使用LINQ。我已经阅读了许多有利于LINQ的文章。我不想采用SQL方式(即编写存储过程和操作数据等)。
对于与数据相关的每个操作,我想从LINQ开始。以下是我想要这样做的原因:
为此,我知道:
但我想知道,有没有办法:
我有很多疑问,但我认为在开始使用新技术时这是显而易见的?
我发现这篇有用的文章对初学者有用:
[http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-code-first-with-an-existing-database.aspx][1]
经过一些研究后,我得出结论:
1)我可以避免创建dbml文件并仍然可以访问数据库??
ANS是,但现在将创建edmx文件而不是dbml。
2)我是否需要使用Linq to Entities?
ANS是的,你可以使用linq来实体。
3)避免使用dbml文件会有好办法吗?因为每次数据库更改都需要每次都删除和删除表
ANS不需要删除并再次创建表。它们是您可以更新数据库的选定部分的选项,您不会避免使用dbmls。它将创建edmx文件,并且在很多方面几乎与dbmls类似。
4)另外我遇到过很多帖子,其中linqToSql被认为已被弃用而不是.net的未来?
ANS是的,在未来的开发中它将被折旧。它只支持sql server作为后端。
我希望我是对的。如果有任何其他建议,请告诉我。
答案 0 :(得分:0)
LINQ是一种查询和项目数据收集的方法。例如,您可以使用LINQ从数据库或数组中查询和整形数据。 LINQ by it self与下面的数据库无关。
使用ORM(对象关系映射器)技术将存储在数据库表中的数据投影为对象集合。获得对象集合后,可以使用LINQ查询它们。
现在,您可以选择许多ORM技术,例如Entity Framework,NHibernate,Linq2Sql。如果您不想维护dbml文件,请查看Entity Framework提供的代码优先方法。
然后有一些叫做LINQ数据提供者的东西。他们将获取LINQ查询,将其转换为针对特定数据库的SQL,执行查询并将结果作为一组对象返回。上面的许多ORM都内置了LINQ数据提供程序作为其中的一部分,并且在获取数据时可以在场景中工作。
我建议您查看一些模式,例如数据库的存储库和工作单元。如果使用正确,这些模式将使您的数据访问代码与应用程序上层隔离。这将帮助您更改数据访问技术,因为它已经过时,而不会影响应用程序的其余部分。
LINQ是一项非常棒的技术,您一定要尝试它
我根据自己的经验编写了上述答案,我确信有很多SO用户比我自己更了解上述技术,他们可能希望添加自己的观点
祝你好运