简单 SQL 模式的快速 CRUD 访问
Quick CRUD access for simple SQL schema
我在数据访问方面有点落后,需要指出正确的方向。我目前只有一个 SQL 服务器数据库 table,其中包含大约 35 列。我正在构建一个 WCF Web 服务以提供对它的访问,并试图找出将基于 C# 的 Web 服务 link 连接到数据库的最快方法。
我一直在看 Entity Framework 但它看起来很重,到目前为止我在上面找到的所有内容似乎都假设你已经知道一些关于它的东西所以我不想说得太远如果路径错误,请进入其中。我并不完全认同在应用程序中生成 SQL 的想法。我已经有一个 DataContract class,其中包含 table 中每一列的属性,我只是在寻找一种自动方法来将列映射到属性并将属性映射回 columns/sproc 参数。我已经编写了一些代码,使用反射将来自不同来源的数据映射到此 DataContract(在 属性 名称上与附加映射字典匹配作为备份)所以在这里做同样的工作并不多,但是我想看看还有什么可用的。我想避免的是写出每个 PropertyName = ColumnName.Value
。对于像这样的简单案例,VS2010 .NET 4.0 中是否内置了一些轻量级的东西?如前所述 here 直接通过 EF 调用存储过程是一个不错的选择吗?看起来有点过时了。
我喜欢Dapper,一个"micro-ORM"。它被SO使用。我已经将它漂亮地用作 "an automatic way to map columns to properties" 并且它似乎也可以 "properties back to columns/sproc parameters" 但我还没有为此使用它。这太棒了——我在用 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说一下。
(从评论中移出,因为这更像是一个答案而不是评论 - 我正在尝试在正确的地方完成正确的任务)。
我在数据访问方面有点落后,需要指出正确的方向。我目前只有一个 SQL 服务器数据库 table,其中包含大约 35 列。我正在构建一个 WCF Web 服务以提供对它的访问,并试图找出将基于 C# 的 Web 服务 link 连接到数据库的最快方法。
我一直在看 Entity Framework 但它看起来很重,到目前为止我在上面找到的所有内容似乎都假设你已经知道一些关于它的东西所以我不想说得太远如果路径错误,请进入其中。我并不完全认同在应用程序中生成 SQL 的想法。我已经有一个 DataContract class,其中包含 table 中每一列的属性,我只是在寻找一种自动方法来将列映射到属性并将属性映射回 columns/sproc 参数。我已经编写了一些代码,使用反射将来自不同来源的数据映射到此 DataContract(在 属性 名称上与附加映射字典匹配作为备份)所以在这里做同样的工作并不多,但是我想看看还有什么可用的。我想避免的是写出每个 PropertyName = ColumnName.Value
。对于像这样的简单案例,VS2010 .NET 4.0 中是否内置了一些轻量级的东西?如前所述 here 直接通过 EF 调用存储过程是一个不错的选择吗?看起来有点过时了。
我喜欢Dapper,一个"micro-ORM"。它被SO使用。我已经将它漂亮地用作 "an automatic way to map columns to properties" 并且它似乎也可以 "properties back to columns/sproc parameters" 但我还没有为此使用它。这太棒了——我在用 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说一下。
(从评论中移出,因为这更像是一个答案而不是评论 - 我正在尝试在正确的地方完成正确的任务)。