好的,我有一个只有 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 种复杂类型的行为会如此不同?