C# 数据访问层(不是 EF,而是 SP 和对象)

C# Data Access Layer (Not EF but SP and objects)

我已被要求创建一个应用程序,该应用程序使用带有存储过程的现有数据库(insertupdatedelete),但他们没有想要使用Entity Framework.

一种方法是使用 System.Data.DataSet 创建我自己的 数据访问层 但我想知道是否有任何现有的库或我可以在哪里使用的东西可以从 SP 填充对象,也可以使用 SP 更新数据。

Any clue?

如果你真的想走这条路,你可以使用Automapper

看看这个post How do I use automapper to map a dataset with multiple tables

不过,请记住,性能实际上可能非常糟糕。

恕我直言,EF 是更好的选择。

您可以使用像 Dapper 这样的微型 orm,它简单、高效并且可以正确映射到对象。

使用示例:

// 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();

我通常推荐使用Dapper。它非常轻巧,性能与 ADO.NET 编码相当。