0

我在 EF 论坛上问过这个问题,也有人建议我在这里尝试一下......

这个问题可能与微软产品开发更相关,但任何知识渊博的人也请回复....

我正在使用来自 C# 的 EF 5、POCO、Code First、DbContext API 来访问 SQL Server 和未来的 Oracle。我发现我需要使用本机 SQL 来访问底层数据库功能、性能和控制。所以我经常使用 context.Database.SqlQuery 和 context.Database.ExecuteSqlCommand (with SqlParameters)。我还需要精确控制我的 Begin Transaction 和 Commit/Rollback/Set Transaction。

上述 SQL Native 工具是否可能在未来的 EF 版本中被弃用和删除?

我最好使用 ADO.Net 而忘记使用 EF 吗?或者也许 ADO.Net 最终会被 EF 弃用,所以我应该坚持使用 DbContext,尽管主要使用本机 SQL 访问?

先感谢您

4

1 回答 1

0

我建议使用微型 ORM,例如 dapper。

您可以将它与 EF 或其他巨大的 ORM 一起使用,也可以单独使用。它允许您执行直接 SQL 并映射到强类型对象而无需一堆仪式,它在内部使用 ADO.Net。ADO.Net 不会消失。

像这样的东西:

  var dog = connection.Query<Dog>("select * from dogs");

更多文档在这里:https ://github.com/SamSaffron/dapper-dot-net

Stackoverflow 本身使用它来进行数据访问。

于 2013-06-21T02:25:07.030 回答