我正在使用AdventureWorks SQL Server数据库(表名Person
)测试WCF工具。
在wcftestclient.exe
中进行测试时,会显示红色图标并显示:
WCF测试客户端不支持此操作,因为它 使用类型AdventureWorksDbWcf.Person
这是service.svc.cs服务类。
namespace AdventureWorksDbWcf
{
public class Service : IService
{
AW_DataClassesDataContext db = new AW_DataClassesDataContext();
public Person GetOnePerson(int BusinessEntityID)
{
var _person = from one in db.Persons
select one;
Person onlyOnly;
return onlyOnly = _person.First<Person>();
}
public List<Person> ListOfPeople()
{
var _person = from one in db.Persons
select one;
List<Person> list = _person.ToList();
return list;
}
}
}
更新:这是IService
[的ServiceContract] 公共接口IService { [OperationContract的] Person GetOnePerson(int BusinessEntityID);
[OperationContract]
List<Person> ListOfPeople();
}
我错过了什么吗?
请告诉我。
感谢,
答案 0 :(得分:1)
您必须使用相应的[DataContract]属性和您希望使用[DataMember]公开的字段来装饰Person类。
如果您正在使用为表自动生成类的DataEntity或LinqToSQL,请注意最佳做法是创建服务使用的“数据”类,而不是发送属于您业务的类逻辑。看看IDesign's WCF coding standards。
答案 1 :(得分:0)