ADO.NET 实体框架比我正在使用的方法更好?
我已经阅读了一些有关 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 EF 时,您可以使用多种类型的数据访问:
ObjectContext
上作为 .NET 函数公开的存储过程。 EF 将处理参数和结果映射。ExecuteStoreQuery
或ExecuteStoreCommand
执行直接 SQL(仅限 EFv4)。在这里您可以调用任何 SQL,包括存储过程。因此,使用 EF,您可以同时拥有当前的方法和 EF 本身。此外,通过 EF 调用本机 SQL 具有一些优点,例如自动映射到准备好的类。
不管怎样,你所描述的情况是相当罕见的。在许多公司中,修改数据库中的某些内容需要与修改应用程序相同的过程(甚至更复杂),因此您不能简单地去修改生产中的存储过程。
When using EF you can use several types of data accessing:
ObjectContext
as .NET function. EF will handle parameters and result mapping.ExecuteStoreQuery
orExecuteStoreCommand
(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.