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_types
是Dictionary<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() { ... }
}
你是怎麼做到的?我得到這個確切的錯誤 –