2016-04-27 11 views
0

私はEntity Frameworkを使用するをベンは、ストアドプロシージャ(insertupdatedelete)で、既存のDBを使用するアプリケーションを作成するために要求された、彼らはしたくない持っています。C#データアクセス層(EFが、SPやオブジェクトではありません)

一つの方法は、System.Data.DataSetを使用して独自のデータアクセス層を作成することですが、私は、既存のライブラリまたは私はSPのからオブジェクトを記入し、また、SPのを使用してデータを更新することができますどこで使用できるものがあるかどうかを知りたいです。

ヒント?

+0

[Dapper.NET](https://github.com/StackExchange/dapper-dot-net#stored-procedures) –

+1

はい、Entity Frameworkを確認してください。 EFでストアドプロシージャを使用できます。通常、開発者にはタスクが与えられていますが、ジョブにうまく収まる特定のツールを使用することはできません。 EFを使用しない理由は何ですか? – Igor

+0

EFでのパフォーマンスは、大きなデータセットでは恐ろしいです。 – VAAA

答えて

0

Dapperのようなマイクロは、単純で効率的で、オブジェクトに正しくマップできます。使用の

例:

// Call spGetUser with a parameter Id and put the result in a User instance. 
var user = cnn.Query<User>("spGetUser", new {Id = 1}, 
     commandType: CommandType.StoredProcedure).SingleOrDefault(); 
+0

Dapperはエンティティの変更を追跡できますか?どのような不動産が変更されたかなど知ることができますか? – VAAA

+0

@VAAA [Dapper.Contrib](https://github.com/StackExchange/dapper-dot-net/tree/master/Dapper.Contrib)を使用して行うことができます。 – Spilarix

+0

すごい!!何を見ているのですか – VAAA

0

私は通常、Dapperのを使用することをお勧めします。それは非常に軽量です、それはADO.NETコーディングと同等の性能です。

+0

Dapperはエンティティの変更を追跡できますか?どのような不動産が変更されたかなど知ることができますか? – VAAA

+0

いいえ、それは接続オブジェクトを拡張して操作を直接クエリして実行するだけです。 –

関連する問題