找不到查询模式的实现
在我的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