在我的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>吗?您可能需要使用以下方法进行操作:
tblPersoon
IEnumerable<T>
var query = (from p in tblPersoon.Cast<Person>() select p).Single();
在以下情况下 通常会发生这种错误( 找不到查询模式的实现 ):
using System.Linq
编辑 :
除了查询类型(tblPersoon)而不是property之外tblPersoons,还需要一个上下文实例(定义tblPersoons属性的类),如下所示:
tblPersoons
public tblPersoon GetPersoonByID(string id) { var context = new DataClasses1DataContext(); var query = context.tblPersoons.Where(p => p.id == id).Single(); // ...