在我的silverlight应用程序中,我试图使用LINQ创建数据库连接.

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

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

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

找不到源类型的查询模式的实现

甚至当我try 以下方法时:

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

它给我一个错误,说" Select "找不到!

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

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

非常感谢.

推荐答案

tblPersoonIEnumerable<T>吗?您可能需要使用以下方法:

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

这种错误(Could not find an implementation of the query pattern)通常发生在以下情况:

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

Edit:

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

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

Sql相关问答推荐

使用子查询和连接更新PostgreSQL

Click house在数组中生成X行Y随机数

SQL从同一表连接列

按postquist中的日期查询json列

Microsoft Access UNION将长文本字段限制为255个字符

如何并行SELECT和RESET?

JSON列之间的Postgr聚合

判断序列索引处的序列是否完整

SQL:使用年/月/日分区查询某个时间段的数据

插入具有预期逻辑的查询以Forking 表

递归 CTE 附加为行

如何计算两个非周期性时间序列+分组的重叠持续时间

将一名成员金额分配给群组内的其他成员

SQL ORACLE - 查找连续天数

SQL 将 Varchar 转换为日期

在Snowflake中,如何将以逗号和连字符分隔的多个混合数值拆分成数字列表

在自引用表中使用分组和计数的SQL查询语句

Postgres数据库维护:基于GROUP BY删除旧记录

Teradata 多个进程的最大进程结束时间捕获

如何使用 pg-promise 创建要在复杂的 sql 查询中使用的 VALUES 列表?