找不到查询模式的实现

在我的Silverlight应用程序中,我试图使用LINQ创建数据库连接。首先,我向SQL类添加一个新的LINQ,并将名为“

tblPersoon”的表拖到其中。

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

[OperationContract]

public tblPersoon GetPersoonByID(string id)

{

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

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

找不到源类型“ SilverlightApplication1.Web.tblPersoon”的查询模式的实现。找不到“哪里”。

即使我尝试以下操作:

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)而不是property之外tblPersoons,还需要一个上下文实例(定义tblPersoons属性的类),如下所示:

public tblPersoon GetPersoonByID(string id)

{

var context = new DataClasses1DataContext();

var query = context.tblPersoons.Where(p => p.id == id).Single();

// ...

以上是 找不到查询模式的实现 的全部内容, 来源链接: utcz.com/qa/406269.html

回到顶部