1. public class CustomDataContext<TEntity> : System.Data.Linq.DataContext
  2. where TEntity : class,new()
  3. {
  4. public CustomDataContext() :
  5. base(ConfigurationManager.AppSettings["TestDbConnectionString"])
  6. {
  7. }
  8.  
  9. #region 创建一个新对象
  10. public bool Create(TEntity entity)
  11. {
  12. EntityList.InsertOnSubmit(entity);
  13. SubmitChanges();
  14. return true;
  15. }
  16.  
  17. public bool Create(IEnumerable<TEntity> entities)
  18. {
  19. EntityList.InsertAllOnSubmit(entities);
  20. SubmitChanges();
  21. return true;
  22. }
  23. #endregion
  24.  
  25. #region 删除一个对象
  26. public bool Delete(TEntity entity)
  27. {
  28. EntityList.DeleteOnSubmit(entity);
  29. SubmitChanges();
  30. return true;
  31. }
  32.  
  33. public bool Delete(IEnumerable<TEntity> entities)
  34. {
  35. EntityList.DeleteAllOnSubmit(entities);
  36. SubmitChanges();
  37. return true;
  38. }
  39. #endregion
  40.  
  41. #region 修改对象
  42. public bool Modify(TEntity entity)
  43. {
  44. EntityList.Attach(entity, true);
  45. SubmitChanges();
  46. return true;
  47. }
  48.  
  49. public bool Modify(IEnumerable<TEntity> entities)
  50. {
  51. EntityList.AttachAll(entities, true);
  52. SubmitChanges();
  53. return true;
  54. }
  55. #endregion
  56.  
  57. #region 查询对象
  58. public TEntity GetEntity(Expression<Func<TEntity, bool>> predicate)
  59. {
  60. return EntityList.FirstOrDefault(predicate);
  61. }
  62. public IList<TEntity> GetList()
  63. {
  64. return EntityList.ToList();
  65. }
  66. public IQueryable<TEntity> GetList(Expression<Func<TEntity, bool>> predicate)
  67. {
  68. return EntityList.Where(predicate);
  69. }
  70. #endregion
  71.  
  72. public System.Data.Linq.Table<TEntity> EntityList
  73. {
  74. get
  75. {
  76. return this.GetTable<TEntity>();
  77. }
  78. }
  79. }

CustomDataContext

  1. [Table(Name = "dbo.DemoClass")]
  2. public class DemoClass
  3. {
  4. public DemoClass()
  5. {
  6. }
  7.  
  8. [Column(Name = "ID", IsPrimaryKey = true, IsDbGenerated = true)]
  9. public int ID
  10. {
  11. get;
  12. set;
  13. }
  14.  
  15. [Column(Name = "UserName")]
  16. public string UserName
  17. {
  18. get;
  19. set;
  20. }
  21.  
  22. [Column(Name = "Phone")]
  23. public string Phone
  24. {
  25. get;
  26. set;
  27. }
  28.  
  29. [Column(Name = "Email")]
  30. public string Email
  31. {
  32. get;
  33. set;
  34. }
  35.  
  36. [Column(Name = "Password")]
  37. public string Password
  38. {
  39. get;
  40. set;
  41. }
  42. }

DemoClass

  1. DemoClass model = new DemoClass();
  2. model.UserName = "zhagnsan";
  3. model.Phone = "";
  4. model.Email = "zhangsan@163.com";
  5. model.Password = "";
  6. using (var context = new CustomDataContext<DemoClass>())
  7. {
  8. if (model != null)
  9. {
  10. context.Create(model);
  11. }
  12. }

测试

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Configuration;
  4. using System.Data.Linq.Mapping;
  5. using System.Linq;
  6. using System.Linq.Expressions;

Linq To Entity学习实践的更多相关文章

  1. Linq学习<三> linq to entity

    之前一直用sql选择出数据放在一个集合中,然后再用Linq或者lambda去操作数据,今天学了Linq to entity 才知道原来linq产生是为了Entity.也就是EDM(实体数据模型) 关于 ...

  2. 第04项目:淘淘商城(SpringMVC+Spring+Mybatis) 的学习实践总结【第六天】

    https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...

  3. 深入调研Linq to Objects Join Linq to Entity

    最近工作中遇到数据库组合查询带来的一些问题,因此有必要调研一下Linq to Objects Join Linq to Entity.参考一些网友的代码案例,深入实践了一下使用EntityFramew ...

  4. 使用sklearn进行集成学习——实践

    系列 <使用sklearn进行集成学习——理论> <使用sklearn进行集成学习——实践> 目录 1 Random Forest和Gradient Tree Boosting ...

  5. Nagios学习实践系列——基本安装篇

    开篇介绍 最近由于工作需要,学习研究了一下Nagios的安装.配置.使用,关于Nagios的介绍,可以参考我上篇随笔Nagios学习实践系列——产品介绍篇 实验环境 操作系统:Red Hat Ente ...

  6. Nagios学习实践系列——配置研究[监控当前服务器]

    其实上篇Nagios学习实践系列——基本安装篇只是安装了Nagios基本组件,虽然能够打开主页,但是如果不配置相关配置文件文件,那么左边菜单很多页面都打不开,相当于只是一个空壳子.接下来,我们来学习研 ...

  7. Linq to Entity经验:表达式转换

    http://www.cnblogs.com/ASPNET2008/archive/2012/10/27/2742434.html 最近一年的项目,我主要负责一些小型项目(就是指企业内部的小项目),在 ...

  8. 前端学习实践笔记--JavaScript深入【1】

    这一年中零零散散看过几本javascript的书,回过头看之前写过的javascript学习笔记,未免有点汗颜,突出“肤浅”二字,然越深入越觉得javascript的博大精深,有种只缘身在此山中的感觉 ...

  9. EF架构~linq to entity的随机排序问题

    回到目录 对于从linq to sql迁移过来的开发者,对随机排序不会感到陌生,直接为datacontext添加一个方法再配合反射就可以实现随机排序了,代码如下: /// <summary> ...

随机推荐

  1. eclipse projectExplorer视图(以包的方式显示)与navigator视图切换(以文件夹的方式显示)及树状视图与平面视图的切换

    projectExplorer与navigator的切换 projectExplorer视图效果 想要此视图效果步骤如下: 分割------------------------------------ ...

  2. 多种方式实现依赖注入及使用注解定义bean

    构造注入 如何给构造方法中的参数注入方法呢如下 首先bean代码如下 package cn.pojo; public class Greeting { /** * 说的话 */ private Str ...

  3. JS进阶篇--JS数组reduce()方法详解及高级技巧

    基本概念 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被 ...

  4. vue2.0:子组件调用父组件

    main.js文件添加如下: new Vue({ router, render: h => h(App), data: { eventHub: new Vue() }}).$mount('#ap ...

  5. python简单试题4

    ( ps : 题目中用到的一些random函数在最后末尾处有介绍)  1,在屏幕上显示跑马灯文字 import os # 调用os模块 import time # 调用时间模块 def main(): ...

  6. SpringMVC controller接收的中文参数乱码

    CharacterEncodingFilter只对POST请求有用,GET请求的需要对你运行的tomcat 目录conf/server.xml文件中<Connector connectionTi ...

  7. 设计模式之第2章-抽象工厂模式(Java实现)

    设计模式之第2章-抽象工厂模式(Java实现) “上次是我的不对,贿赂作者让我先讲来着,不过老婆大人大人有大量,不与我计较,这次还让我先把上次未讲完的应用场景部分给补充上去,有妻如此,夫复何求.”(说 ...

  8. leetcode 【 Merge Sorted Array 】python 实现

    题目: Given two sorted integer arrays A and B, merge B into A as one sorted array. Note:You may assume ...

  9. ogre3D学习基础13 -- 键盘控制网格动画mesh

    以上一节为蓝本,这里增加一点难度,添加了四个节点,增加键盘控制移动速度,使用bool变量控制是否移动. 第一,要增加键盘控制,那就使用OIS::KeyListener,在监听器里添加一个父类KeyLi ...

  10. Python实现对百度云的文件上传

    环境准备 python3.6 PyCharm 2017.1.3 Windows环境 框架搭建 selenium3.6 安装方法: pip install selenium 实现步骤: 一.步骤分析 1 ...