gpt4 book ai didi

c# - 找不到查询模式的实现

转载 作者:IT王子 更新时间:2023-10-29 03:39:32 25 4
gpt4 key购买 nike

在我的 silverlight 应用程序中,我尝试使用 LINQ 创建数据库连接。首先,我添加了一个新的 LINQ to SQL 类,并将名为“tblPersoon”的表拖到其中。

然后在我的服务文件中尝试执行以下查询:

[OperationContract]
public tblPersoon GetPersoonByID(string id)
{
var query = (from p in tblPersoon where p.id == id select p).Single();

但是在 tblPersoon 它给了我以下错误。

Could not find an implementation of the query pattern for source type 'SilverlightApplication1.Web.tblPersoon'. 'Where' not found.

甚至当我尝试以下操作时:

var query = (from p in tblPersoon select p).Single();

它给我一个错误,说找不到“选择”!

可以在这里找到为我的表生成的类的代码:http://pastebin.com/edx3XRhi

是什么原因造成的,我该如何解决?

谢谢。

最佳答案

tblPersoon实现 IEnumerable<T> ?您可能需要使用:

var query = (from p in tblPersoon.Cast<Person>() select p).Single();

这种错误(找不到查询模式的实现)通常发生在:

  • 您缺少 LINQ 命名空间用法 (using System.Linq)
  • 您查询的类型没有实现IEnumerable<T>

编辑:

除此之外,您查询的是类型 ( tblPersoon) 而不是属性 tblPersoons ,您还需要一个上下文实例(定义 tblPersoons 属性的类),如下所示:

public tblPersoon GetPersoonByID(string id)
{
var context = new DataClasses1DataContext();
var query = context.tblPersoons.Where(p => p.id == id).Single();
// ...

关于c# - 找不到查询模式的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8215773/

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