OK、メソッドが 2 つしかないドメイン サービス クラスがあります。
[Invoke]
public IEnumerable<CT1> GetActiveCT1(int ID)
{
return this.ObjectContext.GetActiveCT1(ID).AsEnumerable<CT1>();
}
[Invoke]
public IEnumerable<CT2> GetCT2(int ID)
{
return this.ObjectContext.GetCT2(ID).AsEnumerable<CT2>();
}
CT1 と CT2 は両方とも、複数の int フィールドと string フィールドを持つ複合型です。
GetActiveCT1 と GetCT2 はどちらも、ストアド プロシージャに基づく関数のインポートです。
問題は、方法 2 の GetCT2 が常に「必要な署名に準拠していません」というエラーを返すことです。[Invoke] を [Query] に変更すると機能しますが、方法 1 には同じ問題はありません。
2つの複合型がなぜそれほど異なる動作をすることができるのか、私は非常に困惑していますか?