【发布时间】:2012-02-27 22:23:46
【问题描述】:
我有一个 ADO.NET 模型实体,它反映了一个 oracle 数据库和一个 WCF 服务,它提供对这个 ADO.NET 模型的访问。在我的 WCF 服务代码中,我有以下内容:
config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
//config.SetServiceOperationAccessRule("MyServiceOperation",ServiceOperationRights.All);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
我在 silverlight 5 应用程序中添加了对此服务的引用。然后在下面的代码中,我得到一个错误:
Uri WCFUri = new Uri(HtmlPage.Document.DocumentUri, "WcfDataService.svc");
WCF_Service.Entities Database = new WCF_Service.Entities(WCFUri);
var buildings = from building in Config.Database.BUILDINGs
select building.BLDG_ID;
var buildingsQuery = (DataServiceQuery<string>)buildings;
buildingsQuery.BeginExecute(buildingsResult =>
{
foreach (string buildingId in buildingsQuery.EndExecute(buildingsResult))
BuildingsList.Items.Add(new ListItem(buildingId.Trim(), false));
BuildingListBusyIndicator.IsBusy = false;
}, null);
错误是:
Navigation properties can only be selected from a single resource. Specify a key predicate to restrict the entity set to a single instance.
我不知道问题是什么。提前致谢。
【问题讨论】:
-
你在哪一行得到这个错误?
-
我现在不在我的电脑前工作,但我认为是 var building = from building in Config.Database.BUILDINGs select building.BLDG_ID;
标签: c# wcf silverlight web-services ado.net