我只是在玩 EF5 和数据服务。决定测试暴露SP。将其映射到 FirmInfo 复杂类型。在这个愚蠢的错误中运行。似乎无法弄清楚。
我为我创建了这个复杂类型的 .tt 模板
public partial class FirmInfo
{
public int FirmID { get; set; }
public string Name { get; set; }
}
我添加了这个以将其公开给 MyDataService.svc.cs 类:
[WebGet]
public IQueryable<FirmInfo> pSPTest(int id)
{
return CurrentDataSource.pSPTest(id).AsQueryable();
}
我可以在浏览器中看到它:
- <pSPTest xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
- <element m:type="DB.FirmInfo">
<FirmID m:type="Edm.Int32">1</FirmID>
<Name>Firm Name</Name>
</element>
</pSPTest>
但是当由 c# 客户端应用程序使用时,我不断收到此错误:“Client.ServiceReference.FirmInfo”类型上不存在属性“元素”。确保仅使用类型定义的属性名称。
任何帮助表示赞赏