简单SQL模式的快速CRUD访问

时间:2015-03-26 23:18:34

标签: c# sql-server .net-4.0 data-access

我在数据访问方面有点落伍,需要指向正确的方向。我目前只有一个SQL Server数据库表,其中包含大约35列。我正在构建一个WCF Web服务来提供对它的访问,并试图找出将基于C#的Web服务链接到数据库的最快方法。

我一直在寻找实体框架,但它看起来相当沉重,到目前为止我发现的一切似乎都假设你已经知道了一些关于它的事情所以我不想太过分了,如果它是错误的道路。我没有完全卖掉在应用程序中生成SQL的想法。我已经有一个DataContract类,其中包含表中每列的属性,我只是在寻找一种自动方法,将列映射到属性和属性回到columns / sproc参数。我已经编写了一些代码,使用反射将来自不同源的数据映射到此DataContract(在属性名称上匹配其他映射的字典作为备份)所以在这里做同样的工作并不是那么多,但我想看看还有什么可用。我想避免的是写出每个PropertyName = ColumnName.Value。对于像这样的简单案例,VS2010 .NET 4.0中是否有轻量级的东西?如前所述,通过EF直接调用存储过程here是一个不错的选择吗?它看起来有点过时了。

1 个答案:

答案 0 :(得分:0)

我喜欢Dapper,一个" micro-ORM"。它被SO使用。我已经将它精美地用作了#34;一种将列映射到属性的自动方式"并且它似乎也将"属性返回到列/ sproc参数"但我还没有用它。它非常棒 - 我和Nuget一起在大约5分钟后就开始了。我是EF的新手,没有指南就不推荐它。

    IEnumerable<TModel> result;
    using (MySqlConnection conn = new MySqlConnection(_mysqlConnString))
    {
        // "Query" is a Dapper extension method that stuffs the datareader into objects based on the column names
        result = conn.Query<TModel>("Select * from YourTable");
    }
    // do stuff with result

这链接到一个完整的示例,而不仅仅是我从当前项目中提取的部分。 http://www.tritac.com/bp-24-dapper-net-by-example

其他Dapper信息:c-sharpcorner.com/UploadFile/4d9083 / ...和liangwu.wordpress.com/2012/08/16/dapper-net-samples谈论它。

(从评论中移除,因为这更像是答案而不是评论 - 我试图在适当的位置完成正确的任务。)