ADO.NET 实体框架比我正在使用的方法更好?

发布于 2024-10-20 22:40:19 字数 336 浏览 1 评论 0原文

我已经阅读了一些有关 ADO.NET 实体框架的内容,但我缺少一些东西。现在(不使用 EF,不确定这种技术叫什么,只是 ADO.NET?)我们将所有过程存储在数据库中,这样如果我们必须更改任何内容,我们只需进入数据库并更改查询,非常简单(除了我有数百个查询之外)。

如果我对 EF 的看法是正确的,我可以更轻松地查询(没有联接,更短的查询),但所有内容都保存在实体数据模型中。因此,如果我需要更改查询,我必须启动 VS 进入,找到位置并更改查询(我猜是 linq-to-sql 或 Entity SQL 来执行查询)

我只需要一些关于 EF 的说明、Entity SQL 与 Linq-to-SQL。

谢谢你!

I have read a bit about ADO.NET Entity Framework, but there is some things I am missing. Right now (not using EF, not sure what this technique is called, just ADO.NET?) we store all procedures in the database, that way if we have to change anything we have to just go into the db and change a query, pretty easy (other than the fact I have 100s of queries).

If I am correct with EF, I can query easier (no joins, shorter queries) but everything is saved in the Entity Data Model. So if I needed to change a query I would have to launch VS go in, find the location and change the query (which I guess would be linq-to-sql or Entity SQL to perform the query)

I just need some clarification about EF, and Entity SQL vs Linq-to-SQL.

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故事↓在人 2024-10-27 22:40:19

使用 EF 时,您可以使用多种类型的数据访问:

  • Enity SQL - 它的语法类似于普通 SQL,但查询直接在代码或实体模型中进行。如果您想更改查询,您必须重建并重新部署应用程序。
  • Linq-to-entities - 实体模型之上的 Linq 查询。同样,如果您想更改查询,则必须重建并重新部署应用程序。
  • 执行导入到模型的存储过程(也称为函数导入) - 这只是在 ObjectContext 上作为 .NET 函数公开的存储过程。 EF 将处理参数和结果映射。
  • 通过 ExecuteStoreQueryExecuteStoreCommand 执行直接 SQL(仅限 EFv4)。在这里您可以调用任何 SQL,包括存储过程。

因此,使用 EF,您可以同时拥有当前的方法和 EF 本身。此外,通过 EF 调用本机 SQL 具有一些优点,例如自动映射到准备好的类。

不管怎样,你所描述的情况是相当罕见的。在许多公司中,修改数据库中的某些内容需要与修改应用程序相同的过程(甚至更复杂),因此您不能简单地去修改生产中的存储过程。

When using EF you can use several types of data accessing:

  • Enity SQL - it is syntax similar to common SQL but queries are directly in code or entity model. If you want to change query you must rebuild and redeploy application.
  • Linq-to-entities - Linq queries on top of entity model. Again if you want to change query you must rebuild and redeploy application.
  • Executing stored procedures imported to model (also known as function import) - this is just sotred procedure exposed on your ObjectContext as .NET function. EF will handle parameters and result mapping.
  • Executing direct SQL by ExecuteStoreQuery or ExecuteStoreCommand (only EFv4). Here you can call any SQL including stored procedures.

So with EF you have both your current approach plus EF itself. Moreover calling native SQL through EF has some advantages like automatic mapping to prepared classes.

Anyway what you describe is quite uncommon situation. In many companies modifying something in DB requires same process as modifying application (or even more complicated) so you can't simply go and modify stored procedure in production.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文