WCF数据服务错误“给定名称'Foo'在实体集”
问题描述:
中找不到“我正在开发一个WCF数据服务来公开数据库。我想提供接入到一个表(称之为“富”),所以我把这个在InitializeService
方法我DatabaseService.svc.cs
的:WCF数据服务错误“给定名称'Foo'在实体集”
config.SetEntitySetAccessRule("Foo", EntitySetRights.AllRead);
然而,当服务初始化它抛出同一个ArgumentException
消息“在实体集中未找到给定名称'Foo'。”
该表格绝对位于带有该名称,大小写和拼写正确的.edmx文件中。这也是在.Designer.cs
文件,像这样:
[EdmEntityTypeAttribute(NamespaceName="FooDBModel", Name="Foo")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class Foo : EntityObject
服务类本身被声明为:
public class FooDatabaseService : DataService<FooDBEntities>
答
您是否尝试过使用完全合格的名称?
是的,我尝试过组合'FooDB.Foo','FooDB.dbo.Foo','FooDBModel.Foo'和'FooDBEntities.Foo'。 – 2011-03-29 15:12:32
是代码中使用的任何实际名称空间(与NamespaceName =“”相对)。另外,您的模型和您的服务都在同一个项目中吗? – CodingGorilla 2011-03-29 15:16:31
是的,这些是代码中的命名空间。 .svc和.edmx都在同一个项目中(一个dll),并且它在一个单独的Windows服务项目中由'DataServiceHost'托管。 – 2011-03-29 15:19:24