0

我正在尝试学习如何使用 Dapper.Extension 但经过多次尝试安装和重新安装 nuget 包。我无法让命名空间解析和使用。我正在创建一个通用存储库,但是当我尝试包含命名空间时,VS 甚至看不到它。我查看了他们的文档和安装指南,但看不到其他人有这个问题。我在寻找什么愚蠢的东西吗?请参阅下面使用扩展名的 Find 方法。

    public T Find(int id)
    {
        using(var conn = _ConnectionFactory.GetConnection())
        {
            return conn.Get<T>(id);
        }
    }
4

4 回答 4

1

您已正确添加库,但需要在类顶部添加 using 引用以导入 dapper 命名空间并将其他方法添加到 SqlConnection 对象。为此,请将以下两行添加到类文件的顶部,在任何命名空间声明之前。

using Dapper;
using DapperExtensions;

VB.NET 中的等价物是:

Imports Dapper
Imports DapperExtensions
于 2016-12-22T13:25:35.073 回答
1

有两个 nuget 包“ DapperExtensions ”和“ Dapper.Extensions ”。确保您已安装第一个。我也犯了这个错误

于 2018-02-05T18:10:06.083 回答
0

我遇到了类似的问题,但那是因为我通过 nuget 安装了“Dapper.Extension”,而不是安装了“DapperExtensions”。你能做类似的事情吗?

于 2017-01-16T00:31:34.357 回答
0

为了测试我使用了 VS 2015:

  1. 创建新的控制台应用程序
  2. 安装包 DapperExtensions
  3. 安装最新版本的 Dapper:Install-Package Dapper -version 1.50.2

这是测试代码:

using System.Data.SqlClient;
using DapperExtensions;
namespace ConsoleApplication2
{
    public class Foo
    {
        public int Id { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            var result = Find(1);
        }
        public static Foo Find(int id)
        {
            using (var conn = new SqlConnection(@"Data Source=.\sqlexpress;Integrated Security=true; Initial Catalog=foo"))
            {
                conn.Open();
                var foo = conn.Get<Foo>(id);
                return foo;
            }
        }
    }
}
于 2016-12-20T17:56:37.897 回答