实体框架是否使用linq to sql下面?

时间:2011-06-15 05:07:24

标签: entity-framework-4

我对实体框架工作4.0很陌生,而我从初始分析中得知的是实体框架只不过是ado.net的抽象,它的存储模型,概念架构和这两者之间的映射。但有一件事我目前还不清楚是从数据库中获取数据还是执行任何存储过程的机制。

是采用传统的ado.net方法还是linq2sql的概念?

我问这个问题的原因是在我们的项目中,我们不会因为某些安全原因而使用linq(我不确定这种安全联系是什么,但我们不能肆意关注linq)。

所以我只是想知道entityframework如何用于执行所有db事务以及是否有机会使用linq来实现sql?

希望我能够传达我的问题。请仔细研究并尽快回复。我正在解决这个问题:(

此致

Subrat

1 个答案:

答案 0 :(得分:1)

不 - Linq-to-SQL和Entity Framework都充分利用了C#/ VB.NET中的LINQ功能 - 但它们都是完全独立的项目。

Linq-to-SQL由C#团队创建,或多或少作为如何将LINQ与数据库一起使用的“概念验证”。

另一方面,实体框架来自微软的数据库团队(ADO.NET团队),并且从一开始就被设计为一个成熟的企业级系统,在直接成为“下一个大事件”之后ADO.NET

为什么使用LINQ(作为一种技术)应该有任何安全隐患超出我的范围.....

是 - 使用Linq-to-SQL方法,您的应用程序需要直接访问所有基础表 - 读取和写入。但是在版本4中使用EF,您可以做非常安全的工作方式:

  • 仅从数据库中公开的视图中选择
  • 通过将EF实体连接到存储过程来处理所有CUD操作(INSERT, UPDATE, DELETE

有了这个,您的应用程序根本不需要直接的表读/写访问 - 与从视图和存储过程手动使用SELECT进行所有其他操作没有什么不同。