zoukankan      html  css  js  c++  java
  • linq to access 简单实现 实例demo

          通过上一篇得到的问题: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。


     

          

     
    ------------------------------------------------------------------------------------
    作者:王继坤

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    ------------------------------------------------------------------------------------
  • 相关阅读:
    leetcode Super Ugly Number
    leetcode Find Median from Data Stream
    leetcode Remove Invalid Parentheses
    leetcode Range Sum Query
    leetcode Range Sum Query
    leetcode Minimum Height Trees
    hdu 3836 Equivalent Sets
    hdu 1269 迷宫城堡
    hud 2586 How far away ?
    poj 1330 Nearest Common Ancestors
  • 原文地址:https://www.cnblogs.com/wangjikun3/p/1507175.html
Copyright © 2011-2022 走看看