惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
博客园 - 【当耐特】
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
D
Docker
GbyAI
GbyAI
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
The Cloudflare Blog
雷峰网
雷峰网
A
About on SuperTechFans
小众软件
小众软件
博客园 - Franky
博客园 - 聂微东
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
V2EX
Engineering at Meta
Engineering at Meta
宝玉的分享
宝玉的分享
aimingoo的专栏
aimingoo的专栏
量子位
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
罗磊的独立博客
Martin Fowler
Martin Fowler
D
DataBreaches.Net
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Secure Thoughts
Project Zero
Project Zero
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tailwind CSS Blog
S
Schneier on Security
Blog — PlanetScale
Blog — PlanetScale
The Hacker News
The Hacker News
Spread Privacy
Spread Privacy
Security Latest
Security Latest
NISL@THU
NISL@THU
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
J
Java Code Geeks

博客园 - 王继坤

DataTable 递归 简单的程序,来实现无限级列表 结合 jquery.table.js 实现 asp.net mvc 2 简简单单做开发 使用DataContext扩展方法Find<TEntity>(TEntity obj) 遇到的问题 asp.net mvc 2 简简单单做开发 实现基本数据操作操作RepositoryController<T> asp.net mvc 2 简简单单做开发 自定义Controller基类 - 王继坤 asp.net mvc 2 简简单单做开发 自定义DropdownList控件 asp.net mvc 2 简简单单做开发 通用增删改基本操作通用页面 asp.net mvc 2 DisplayTemplates 的使用 FcDigg 源码 asp.net 3.5 linq to sql 扩展方法 linq to access 简单实现 asp.net mvc 随想 asp.net mvc ajax实现1 asp.net ajax fccms 小型简单个人blog源码 FCKEDITOR中文使用说明 js调用 dotfuscator.exe 采用线程生成静态页面 新的开始--- gridview 实现多字段综合查询
linq to access 简单实现 实例demo
王继坤 · 2009-06-20 · via 博客园 - 王继坤

      通过上一篇得到的问题:linq to access是不是网站开发中所需要的?是不是采用第三方的类库来实现linq to access例如alinq,dblinq,iqtoolkit等?是否可以采用自己的方式来扩展linq 的方法?是否必须采用linq的跟踪方式?

      自己的答案:linq to access 不仅是为了节省sql空间,另外也是为了简单网站的开发,如一般的企业站,根据就不需要sql数据库,access简单,容易备份。现在仍有很多的网站是采用access来做数据库的,特别是asp开发的网站,基本以access为主,access仍可以是我们开发中需要选择的数据库之一。采用linq to access 的方式,不仅可以访问access数据库而且之需要改一下数据库的连接字符串就可以无缝实现linq to sql。这样可根据自己网站的情况来选择自己所要使用的数据库。这种方式实现的方法也比较简单,只是根据linq to sql 生成的代码文件 *.designer.cs 里稍微的改几处,就可以完美的实现,如果你会linq ,就不需要学任何新的东西来为实现linq 使用 access数据库。现在也有其他的实现linq to access的方式,如alinq,dblinq,iqtoolkit。不过都没有微软官方提供linq to sql使用起来好用。通过对linq to sql的简单修改来实现linq to access,不为是一种好的方式,并且也不会加大学习新类库的时间。 我们也可以通过对生DataContext类的扩展来实现自己处理数据库的方式。如,扩展自己的数据添加、删除、更新的操作。linq to sql 不支持通主键来实现查找,删除,而在现实我们基本上是采用这种的比较多,我们可以扩展这些方法。linq的跟踪是实现SubmitChanges()必须的。如果想写自己的数据库操作,可以不用跟踪,我想这样对性能也有好处。

      linq to sql主要修改来实现 linq to access:
      1. 在定义  public partial class dbgame : System.Data.Linq.DataContext 上加属性控制Provider,[Provider(typeof(System.Data.Linq.SqlClient.Sql2000Provider))] 来实现默认的为Sql2000Provider。如果不加的话默认的为
Sql2008Provider,不知first()。

      
2.修改  [Table(Name="dbo.表名")] 修改为[Table(Name="表名")] 去掉dbo.因为access不支持在表前面加dbo.
         否则会提示找不到dbo表。

 由于使用这种方式 ,SubmitChanges()不能实现数据库的更新,所以必须自己来写更新的方法update<T>(T),他将根据主键来更新被修改过的实体。也希望有高人帮忙指点来实现SubmitChanges()更新数据库。经过简单的测试,其他在linq to sql里能实现的这里基本上也可以。也希望大家能帮忙找找其他关于兼容的问题。 linq to access demo源码下载

 讨论:linq使用access数据怎样能实现SubmitChanges() 更新数据库方法,linq 使用access能否在小型项目中使用,能不能使用更好的方式来实现linq to access。