gpt4 book ai didi

c# - 异常消息是在数据上下文类型上有一个顶级 IQueryable 属性,其元素类型不是实体类型

转载 作者:太空狗 更新时间:2023-10-30 01:03:41 26 4
gpt4 key购买 nike

我正在构建一个托管在 IIS 7 中的 WCFDataService,我将使用 Reflection Provider 作为数据源提供程序。如果我将实体类型定义保留在我定义服务的同一程序集中,我的项目就会工作,但如果我将实体类型移动到另一个引用的程序集,我的项目就不会工作;

我收到以下错误:

"server encountered an error processing the request. The exception message is 'On data context type 'EntityContainer', there is a top IQueryable property 'Cats' whose element type is not an entity type"

服务

public class WcfDataService1 : DataService<EntityContainer>
{

public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("Cats", EntitySetRights.AllRead);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;

}
}

实体容器

public class EntityContainer
{
public IQueryable<Cat> Cats
{
get
{
var s = new List<Cat>();
var c1 = new Cat {Id = 1, Name = "Fufi"};
var c2 = new Cat {Id = 1, Name = "Felix"};
s.Add(c1);
s.Add(c2);
return s.AsQueryable();
}
}

}

实体类型

[DataServiceKey("Id")]
public class Cat
{
public int Id { get; set; }

public string Name { get; set; }
}

正如我上面所说的,将 Cat 类与其他代码保持在一起的所有工作,但我在将 Cat 类移动到引用的程序集时遇到错误

我缺少什么?

最佳答案

在 2 小时和强烈的头痛之后,我自己发现了问题,我在我的服务中引用了 Microsoft.Data.Services.Client 和 System.Data.Services .Client 在我要移动实体类型的引用项目库中。希望我的帖子可以帮助到其他人。

关于c# - 异常消息是在数据上下文类型上有一个顶级 IQueryable 属性,其元素类型不是实体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26864806/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com