[SQL] 쿼리 패턴의 구현을 찾을 수 없습니다
SQL쿼리 패턴의 구현을 찾을 수 없습니다
내 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에서 그것은 나에게 다음과 같은 오류를 제공합니다.
그리고 심지어는 다음을하려고 할 때 :
var query = (from p in tblPersoon select p).Single();
그것은 '선택'을 (를) 찾을 수 없습니다 말을 나에게 오류를 제공합니다!
내 테이블에 대해 생성 된 클래스에 대한 코드는 여기에서 찾을 수 있습니다 : http://pastebin.com/edx3XRhi
어떤이의 원인이되는 방법 나는 아마도이 문제를 해결까요?
감사합니다.
해결법
-
==============================
1.를 IEnumerable
구현 tblPersoon인가? 당신은 사용하여 수행해야 할 수 있습니다 : 를 IEnumerable
구현 tblPersoon인가? 당신은 사용하여 수행해야 할 수 있습니다 : var query = (from p in tblPersoon.Cast<Person>() select p).Single();
이러한 종류의 오류 (쿼리 패턴의 구현을 찾을 수 없습니다)는 보통 때 발생합니다
편집하다:
그렇다 사실 대신 속성 tblPersoons의 (tblPersoon)를 입력 쿼리, 당신은 또한이 같은 컨텍스트 인스턴스 (클래스가 정의의 tblPersoons 속성)가 필요 :
public tblPersoon GetPersoonByID(string id) { var context = new DataClasses1DataContext(); var query = context.tblPersoons.Where(p => p.id == id).Single(); // ...
-
==============================
2.당신은 파일에 사용하여 문을 추가해야 할 수도 있습니다. 기본 실버 라이트 클래스 템플릿은 포함되지 않습니다
당신은 파일에 사용하여 문을 추가해야 할 수도 있습니다. 기본 실버 라이트 클래스 템플릿은 포함되지 않습니다
using System.Linq;
-
==============================
3.확인이 참조가 포함되어 있는지 확인합니다 :
확인이 참조가 포함되어 있는지 확인합니다 :
그런 다음 사용하여 문을 추가
using System.Linq;
-
==============================
4.내가 생성 된 강력한 형식의 데이터 세트와 비슷한 문제가 있었다, 전체 오류 메시지가 있었다 :
내가 생성 된 강력한 형식의 데이터 세트와 비슷한 문제가 있었다, 전체 오류 메시지가 있었다 :
내 코드에서 :
var x = from row in ds.InvcHead where row.Company == Session.CompanyID select row;
이 제안 명시 적으로 유형을 규정 내가 한 그래서 :
var x = from MyApp.InvcHeadRow row in ds.InvcHead where row.Company == Session.CompanyID select row;
어떤 치료를했다.
-
==============================
5.당신은 평등을 누락 :
당신은 평등을 누락 :
var query = (from p in tblPersoon where p.id == 5 select p).Single();
where 절은 부울 발생해야합니다.
또는 어디 전혀 사용하지 않아야 :
var query = (from p in tblPersoon select p).Single();
-
==============================
6.제목 설명 된 바와 같이 저도 같은 오류를했다,하지만 나를 위해 단순히 마이크로 소프트 액세스를 LinqToExcel에 사용할 12.0 OLEDB 재배포를 설치했다.
제목 설명 된 바와 같이 저도 같은 오류를했다,하지만 나를 위해 단순히 마이크로 소프트 액세스를 LinqToExcel에 사용할 12.0 OLEDB 재배포를 설치했다.
-
==============================
7.안녕하세요이 작업을 수행하는 가장 쉬운 방법은 Queryable에서에이 IEnumerable을 변환하는 것입니다
안녕하세요이 작업을 수행하는 가장 쉬운 방법은 Queryable에서에이 IEnumerable을 변환하는 것입니다
그것은 쿼리 가능 인 경우, 쿼리를 수행하는 것은 쉽게된다.
이 코드를 확인하십시오 :
var result = (from s in _ctx.ScannedDatas.AsQueryable() where s.Data == scanData select s.Id).FirstOrDefault(); return "Match Found";
당신이을 System.Linq을 포함합니다. 당신의 오류가 해결 될 것입니다 이런 식으로.
-
==============================
8.(나처럼)이 오류로부터의 낭비 너무 많은 시간을 위해 :
(나처럼)이 오류로부터의 낭비 너무 많은 시간을 위해 :
하지만 나를 DbContext 수준에서 실수를 고정 된위한 솔루션 "소스 유형 'DbSet'에 대한 질의 패턴의 구현을 찾을 수 없습니다": 저도 같은 오류가 발생했다.
내 컨텍스트를 생성 할 때 나는이 있었다 :
public class ContactContext : DbContext { public ContactContext() : base() { } public DbSet Contacts { get; set; } }
그리고 내 저장소 (나는 ASP.NET 가이드의 저장소 패턴을 다음되었다)이 모습 :
public Contact FindById(int id) { var contact = from c in _db.Contacts where c.Id == id select c; return contact; }
내가 대신 유형의 일반적인로 DbSet을 사용할 때 내 문제는 내 DbContext의 초기 설정에서왔다.
나는 공공 DbSet 연락처를 변경 {얻으십시오; 세트; } 공공 DbSet <연락처> 연락처에 {얻으십시오; 세트; } 갑자기 쿼리가 인정되었다.
이 k.m는 그의 대답에서 말하는 아마도,하지만 그가 언급 한 이후로는 IEnumerable
가 아니라 나는이 두통의 원인이 된 라인을 찾기 위해 몇 시간 동안 코드에서 주위를 발굴했다 DbSet << YourDomainObject >>. -
==============================
9.저도 같은 오류를했다,하지만 나를 위해, 그것은 데이터베이스와 같은 이름 한 테이블을 데 기인했다. 내 프로젝트에 ADO .NET 엔터티 개체를 추가 할 때, 내가 내 데이터베이스 컨텍스트 파일에 원하는 것을 misgenerated :
저도 같은 오류를했다,하지만 나를 위해, 그것은 데이터베이스와 같은 이름 한 테이블을 데 기인했다. 내 프로젝트에 ADO .NET 엔터티 개체를 추가 할 때, 내가 내 데이터베이스 컨텍스트 파일에 원하는 것을 misgenerated :
// Table public virtual DbSet<OBJ> OBJs { get; set; }
이는 봤는데한다 :
public virtual DbSet<OBJ> OBJ { get; set; }
과
// Database? public object OBJ { get; internal set; }
나는 그것을 주석 있도록하는 사실은 정말 필요하지 않았다.
나는 나의 오류를 받았을 때, 내 컨트롤러,이 같은 내 테이블에 끌어하려고했다 :
protected Model1 db = new Model1(); public ActionResult Index() { var obj = from p in db.OBJ orderby p.OBJ_ID descending select p; return View(obj); }
내 데이터베이스 컨텍스트를 수정하고 모두 그 후, 괜찮습니다.
from https://stackoverflow.com/questions/8215773/could-not-find-an-implementation-of-the-query-pattern by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 서버에서만 날짜와 날짜를 비교하는 방법 (0) | 2020.04.10 |
---|---|
[SQL] 클러스터 된 인덱스가 고유해야합니까? (0) | 2020.04.10 |
[SQL] GUID의 SCOPE_IDENTITY ()? (0) | 2020.04.10 |
[SQL] SQL Server의 고유 식별자에 VARCHAR로 변환 (0) | 2020.04.10 |
[SQL] TSQL - 정수 또는 반환 기본값 캐스트 문자열 (0) | 2020.04.10 |