2012-03-03 84 views
1

我使用的是相當老版本的PolaPoco https://github.com/schotime/PetaPoco - 基本上它支持多主鍵列。決定是升級的時候了。一把抓起剛纔提到的schotime鏈接的最新版本,傾入我的項目,並立即曾與代碼失敗結構如下所示:PetaPoco,特別是schotime's,'沒有映射存在於已知的提供者類型'

class Program 
{ 
    public class AggregateObject 
    { 
     public int aoId { get; set; } 

     [PetaPoco.Ignore] 
     public Object1 o1 { get; set; } 

     [PetaPoco.Ignore] 
     public Object2 o2 { get; set; } 
    } 

    public class Object1 
    { 
     public int o1Id { get; set; } 
    } 

    public class Object2 
    { 
     public int o2Id { get; set; } 
    } 

    static void Main(string[] args) 
    { 
     var db = new Database("test"); 

     var test = db.Fetch<AggregateObject, Object1, Object2, AggregateObject>(
      (ao, o1, o2) => 
       { 
        ao.o1 = o1; 
        ao.o2 = o2; 
        return ao; 
       }, 
      "SELECT 1 AS aoId, 2 AS o1Id, 3 AS o2Id WHERE 1 <> @start AND 2 <> @end", 
      new 
       { 
        start = 5, 
        end = 5 
       }); 
    } 
} 

會拋出這個錯誤

No mapping exists from object type <>f__AnonymousType0`2[[System.Int32, mscorlib, 
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089], 
System.Data.SqlClient.SqlParameter, System.Data, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089]] to a known managed provider native type. 

每個參數我m試圖傳入(在這種情況下,System.Int32,System.Int32)。

在通過這種方法傳遞參數的方式上做了些改變嗎?非常困惑的錯誤。

+0

沒有對這些方法的變化。它看起來像你不正確地調用它。你能否提供一個實際編譯的例子? – Schotime 2012-03-03 04:11:44

+0

認爲會的,對不起。我已經包含了一個更好的例子,它會在沒有實際打任何表的情況下產生問題。此代碼與Nuget中的PetaPoco版本一起使用並返回結果;與我從PetaPoco github頁面抓取的最新版本中,它與我上面給出的例外情況出錯。 – heyseuss 2012-03-05 20:01:47

回答

相關問題