2013-06-21 66 views
0

我問這個的EF論壇和建議過要嚐嚐....實體框架和本地SQL訪問

這個問題可能更相關的微軟產品開發,但任何人都知識淵博請回復太....

我使用EF 5,POCO,Code First,C#中的DbContext API訪問SQL Server以及將來的Oracle。 我發現我需要使用本機SQL來訪問底層數據庫功能,性能和控制。所以我使用context.Database.SqlQuery和context.Database.ExecuteSqlCommand(與SqlParameters)很多。我還需要精確控制我的Begin Transaction和Commit/Rollback/Set Transaction。

以上提到的SQL Native設施是否可能在未來的EF版本中被棄用和刪除?

我最好使用ADO.Net而忘記使用EF嗎? 或者也許ADO.Net最終會被棄用而轉向EF,所以我應該堅持使用DbContext,儘管主要使用本地SQL訪問?

感謝您提前

回答

0

我建議使用微型ORM,如短纖維。

您可以將它與EF或其他巨大的ORM一起使用,也可以單獨使用。它可以讓你直接執行SQL並映射到強類型對象,而無需使用一堆儀式,它在內部使用ADO.Net。 ADO.Net不會消失。

事情是這樣的:

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

更多的文檔在這裏:https://github.com/SamSaffron/dapper-dot-net

#1本身使用這種數據訪問。