c# – 针对MS Access的LINQ asp.net页面.

c# – 针对MS Access的LINQ asp.net页面.,第1张

概述我有一个ASP.Net页面使用ADO查询MS访问数据库,作为一个学习练习,我想结合LINQ.我有一个简单的表格叫做行情. 字段是:QuoteID,QuoteDescription,QuoteAuthor,QuoteDate.我想运行简单的查询,如“在1995年后给我所有的引号”. 我如何将LINQ纳入这个ASP.Net网站(C#) 基本上,我的问题是LINQ为MS Access工作吗? LINQ 我有一个ASP.Net页面使用ADO查询MS访问数据库,作为一个学习练习,我想结合liNQ.我有一个简单的表格叫做行情.

字段是:QuoteID,QuoteDescription,QuoteAuthor,QuoteDate.我想运行简单的查询,如“在1995年后给我所有的引号”.

我如何将liNQ纳入这个ASP.Net网站(C#)

基本上,我的问题是liNQ为MS Access工作吗?

解决方法 liNQ to sql不支持Access(即liNQ没有Access / Jet提供程序),但您可以使用liNQ查询DataSet.这意味着您可以在数据库中填充数据库中可能在结果中可能需要的数据,然后在客户端进行过滤.在你有一个类型化的DataSet之后,你可以用一个tableAdapter来填充()它,你可以这样做:
var year = 1995;  // you can pass the year into a method so you can filter on any yearvar results = from row in dsQuotes              where row.QuoteDate > year              select row;

你必须决定这是否值得.您必须使用所有引号填充您的DataSet,然后使用liNQ过滤掉1995年以后的那些引号.对于少量数据,确定为什么不这样做?但是对于大量数据,您需要确保它不会太慢.

但是,如果您使用DataSet,则可以编写自定义查询,从而成为新的tableAdapter方法.因此,您可以在tableAdapter中的FillByYear()方法中为您的查询添加正确的sql,并使用它来填充您键入的Datatable.这样,您只需要恢复所需的数据.

如果您走这条路线,请记住,Access / Jet使用位置参数,而不是命名参数.所以代替

SELECT * FROM Quotes WHERE Year(QuoteDate) > @Year

你会用这样的东西:

SELECT * FROM Quotes WHERE Year(QuoteDate) > ?
总结

以上是内存溢出为你收集整理的c# – 针对MS Access的LINQ asp.net页面.全部内容,希望文章能够帮你解决c# – 针对MS Access的LINQ asp.net页面.所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1260821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存