2016-12-20 41 views
0

我想了解如何使用Dapper.Extension,但多次嘗試安裝並重新安裝nuget包後。我無法獲得可解析和可用的名稱空間。我正在創建一個通用的存儲庫,但是當我試圖包含命名空間時,VS甚至沒有看到它。我查看了所有文檔並安裝了指南,但無法看到其他人遇到此問題。有沒有什麼愚蠢的我在看?使用擴展名在下面查看我的查找方法。Visual Studio無法解析Dapper.Extension命名空間

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

有兩個nuget軟件包「DapperExtensions」和「Dapper.Exnstions」。確保你已經安裝了第一個。我也犯了這個錯誤 –

回答

0

爲了測試我使用VS 2015:

  1. 創建新的控制檯應用程序
  2. 安裝,包裝DapperExtensions
  3. 安裝最新版本的小巧玲瓏:安裝,包裝精緻小巧-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; 
      } 
     } 
    } 
} 
+0

我已經這樣做了,但是使用「DapperExtensions」是灰色的意思,VS認爲它是未使用的。然後,conn.Get被調用的地方是紅色的,表示SqlConnection不包含該方法,這意味着它不能解析命名空間來獲取擴展方法。我沒有任何其他軟件包的問題,​​只是這一個。 :( – user1732364

0

您已經正確添加了這些庫,但是您需要使用類的頂部的引用添加以導入Dapper名稱空間並將其他方法添加到SqlConnection對象。爲此,請在任何名稱空間聲明之前將以下兩行添加到類文件的頂部。

using Dapper; 
using DapperExtensions; 

在VB.NET的等效是:

Imports Dapper 
Imports DapperExtensions 
0

我有一個類似的問題,但那是因爲我已經通過的NuGet,而不是安裝「DapperExtensions」安裝「Dapper.Extension」。你能做些類似的事嗎?

0

有兩個的NuGet包 「DapperExtensions」 和 「Dapper.Extensions」。確保你已經安裝了第一個。我也犯了這個錯誤