LINQ to SQL은 Access를 지원하지 않으므로 (즉, LINQ에 대한 Access/Jet 공급자가 없음) LINQ를 사용하여 DataSet을 쿼리 할 수 있습니다. 즉, 결과에서 필요할 수있는 데이터베이스의 가능한 데이터로 데이터 세트를 채운 다음 클라이언트 측에서 필터링합니다.
var year = 1995; // you can pass the year into a method so you can filter on any year
var results = from row in dsQuotes
where row.QuoteDate > year
select row;
당신이이 가치가 있는지 결정해야 할 것이다 : 당신이 형식화 된 데이터 집합을 가지고, 당신은 TableAdapter가와()를 기입 한 후, 당신은 이런 식으로 뭔가를 할. 으로 데이터 세트를 채우고 모두 따옴표로 묶은 다음 LINQ를 사용하여 1995 년 이후의 따옴표 만 필터링하면됩니다. 적은 양의 데이터에 대해서는 왜 그렇지 않습니까? 그러나 매우 많은 양의 데이터를 얻으려면 속도가 너무 느려지지 않도록해야합니다.
데이터 집합을 사용하는 경우 새 TableAdapter 메서드가되는 사용자 지정 쿼리를 작성할 수 있습니다. 따라서 TableAdapter의 FillByYear() 메서드에 쿼리에 대한 올바른 SQL을 넣고 입력 한 DataTable을 채울 수 있습니다. 그렇게하면 필요한 데이터 만 다시 제공됩니다.
이 경로를 사용하는 경우 Access/Jet는 명명 된 매개 변수가 아닌 위치 매개 변수를 사용합니다.
SELECT * FROM Quotes WHERE Year(QuoteDate) > ?
것은 여기 https://stackoverflow.com/questions/295772/query-microsoft-access-mdb-database- 내 대답을 참조하십시오 : 그래서 그 대신
의이 같은 것을 사용하십시오 using-linq-and-c-sharp/46945250 # 46945250, Windows Forms에서 VB.net –