2011-09-01 37 views
3

我試圖在C#中創建一個SqlUserDefinedAggregate以附加到我的SQL Server 2008實例。我正在使用.NET 3.5。基本上,我想統計我看到字符串值的次數。由於使用它確實需要是一個聚合函數。該函數的代碼邏輯上的聲音,但是當我去部署,我得到這個:C#和SQL Server 2008 CLR序列化問題

部署錯誤SQL01268:.net SqlClient數據提供:消息6222,級別 16,狀態1,行1型「 GEMCLR.CountTypes「標記爲本地 序列化,但類型爲」GEMCLR.CountTypes「的字段」m_types「不是 ,適用於本機序列化。

m_typesDictionary<string, int>。我的代碼的輪廓看起來是這樣的:

[Serializable] 
[Microsoft.SqlServer.Server.SqlUserDefinedAggregate (Format.Native)] 
public struct CountTypes 
{ 
    private Dictionary<string, int> m_types; 

    public void Init() 
    { 
     m_types = new Dictionary<string, int>(); 
    } 

    public void Accumulate (SqlString value) { ... } 

    public void Merge (CountTypes group) { ... } 

    public SqlString Terminate() { ... } 
} 
+0

你是怎麼做到的?我得到這個確切的錯誤 –

回答