千家信息网

LINQ to SQL数据表怎么用

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要为大家展示了"LINQ to SQL数据表怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"LINQ to SQL数据表怎么用"这篇文章吧。
千家信息网最后更新 2025年11月07日LINQ to SQL数据表怎么用

这篇文章主要为大家展示了"LINQ to SQL数据表怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"LINQ to SQL数据表怎么用"这篇文章吧。

在LINQ to SQL数据表里面都是用的DbConnection,而不是SQLConnection,这样的话理论上可以支持所有的数据,但对于一些数据库的支持可能不是太好。例如分页,SQL Server 2000,SQL Server 2005,SQL Server 2008数据,使用LINQ的代码都不一样,而ACCESS和SQL Server 2000比较接近,就可以直接使用SQL Server 2000Provider。查了一些资料看到,理论有那个数据库provider,就可以支持这种数据库。也看了dbLINQ 0.8支持不同数据库的源码,但自己能力有限不能写一个ACCESS的,还是用官方的吧。下边说一下方法。

其实他不太麻烦,只是改一下,*.designer.cs文件里的代码。因为ACCESS 不支持dbo,而LINQ to SQL数据表前面都有dbo.的前缀, [Table(Name="dbo.wjk3")],将dbo.去掉,不然的话,会提示你找不到dbo数据库,这点上,自己走了不少弯路。在public partial class DDataContext: System.Data.LINQ.DataContext上边加上, [Provider(typeof(System.Data.LINQ.SQLClient.SQL Server 2000Provider))]设定为SQL Server 2000Provider,不然的话 LINQ 里面的first 不能使用,另外分页也不能使用,因为他默认的是SQL Server 2008Provider。

这一点很重要,到现在为止,基本上解决LINQ to ACCESS的使用,但还有一点问题,从数据库读取一条记录,修改后使用SubmitChanges()更新,提示错误,不能修改,错误内容:找不到行或行已更改。这一点可以使用一些自定义方法来实现更新,使用ExecuteCommand()直接执行更新SQL语句来实现。感觉LINQ to SQL数据表的跟踪,如果不适用SubmitChanges()更新的话,跟踪也每太大的意义,实现跟踪可能会降低系能,另外添加,删除也依赖跟踪,如果不使用跟踪的话,还要扩展添加,删除的方法。

  1. public partial class dbgame

  2. {

  3. public IQueryable<TEntity> Find<TEntity>(TEntity obj) where TEntity : class

  4. {

  5. //获得所有property的信息

  6. PropertyInfo[] properties = obj.GetType().
    GetProperties(BindingFlags.Public | BindingFlags.Instance);

  7. //构造初始的query

  8. IQueryable<TEntity> query = this.GetTable<TEntity>().AsQueryable<TEntity> ();

  9. //遍历每个property

  10. foreach (PropertyInfo p in properties)

  11. {

  12. if (p != null)

  13. {

  14. Type t = p.PropertyType;

  15. //加入object,Binary,和XDocument,支持sql_variant,imager 和xml等的影射。

  16. if (t.IsValueType || t == typeof(string) || t == typeof(System.Byte[])

  17. || t == typeof(object) || t == typeof(System.Xml.Linq.XDocument)

  18. || t == typeof(System.Data.Linq.Binary))

  19. {

  20. //如果不为null才算做条件

  21. if (p.GetValue(obj, null) != null)

  22. {

  23. if (((ColumnAttribute)(p.GetCustomAttributes(typeof(ColumnAttribute),
    true)[0])).IsPrimaryKey && Convert.ToInt32(p.GetValue(obj, null)) == 0)

  24. {

  25. }

以上是"LINQ to SQL数据表怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

数据 数据表 数据库 支持 跟踪 内容 更新 方法 篇文章 代码 理论 错误 学习 帮助 提示 不同 重要 这样的话 上边 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 時空間数据库 网络安全岗位部门 蔡晶晶人是网络安全的核心 数据库查询突然变慢 关系数据库中笛卡儿积定义 松江区常规软件开发有哪些 我的世界服务器锁定物品 非关系型数据库 关联关系 指标数据库的作用和意义 冀州软件开发定做 软件 网络安全 ppt 软件开发和测试管理情况表 oracle数据库课本总结 网络安全测评机构资质办理 软件开发背景及重要性怎么描述 灵武软件开发定制花多少钱 宿城区多功能网络技术多少钱 深圳谦奕软件开发有限公司 直播软件开发前景 如何把服务器的 高职高专读网络技术学什么 服务器卡ad 大连瞻博网络技术有限公司贴吧 网络安全支持与促进演讲稿 云南智慧社区软件开发公司 阿里巴巴的数据库是中兴的吗 日照图灵网络技术 无法连接到服务器数据库 abb牡丹系列面板数据库文件 手机下载中心显示服务器错误
0