LINQ-to-SQL那点事~耳目一新的partial class 和 partial method
回到目录
当你打开扩展名为dbml的LINQ-to-SQL的文件后,你将会看到很多用partial修饰符来修饰的方法,类等,它们是用来做什么的呢?起初到win form时代也这个东西,partial译为“部分”,就是说它只是某个东西的一部分,你可以在其它地方再去扩展它,起初微软就认为对于一个类来说,可能不是一个人做涉及,它可能是几个人同时去干预它,所以,它提出的“分部类 partial class”的概念,它之后被非常好的应用到了LINQ-to-SQL中。
对于一个由生成器为我们生成的模型来说,LINQ-to-SQL一定不知道我们以后要做什么,它只能把最标准的代码为我们生成,可能是一个表对象,一些表属性,固定的行为,事件等等,但与业务相关的东西它无法生成,这时,它将类,方法做成了partial,如图:
这使我们可以在DBML模型外部去扩展这个User_Info类,它里面也有partial method,事实上,partial method只能被实现一次,必须返回值必须是void,一般地,在DBML模型中只是规定了固定的method签名,而真到的实现你可以自己在扩展的class中去实现。
像下面三个partial method是公用的,对于每个实现它们都是统一的,其中OnCreated是指当类型被new时,去执行本方法,有时,我们确实需要这样去做
对于微软自己生成的LINQ-to-SQL(DBML)文件,我们通过查看它的源代码,确实使我们耳目一新,另一方面也感觉到了C#语言的魅力,而我们当初抛弃JAVA(不思进取的语言)是正确的选择,呵呵!
回到目录
转载于:https://www.cnblogs.com/lori/archive/2012/08/15/2640966.html
LINQ-to-SQL那点事~耳目一新的partial class 和 partial method相关推荐
- LINQ To SQL 语法及实例大全
LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子 ...
- 转载:LINQ to SQL更新数据库操作
翻译整理ScottGu的关于LINQ to SQL的Part 4: Updating our Database .该Post讲解了如何使用LINQ to SQL更新数据库,以及如何整合业务逻辑和自定义 ...
- LINQ to SQL语句(1)之Where(抄的好)
Where操作适用场景:实现过滤,查询等功能.说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操作包括3种形式,分别为简单形式.关 ...
- Linq to Sql : 三种事务处理方式
Linq to SQL支持三种事务处理模型:显式本地事务.显式可分发事务.隐式事务.(from MSDN: 事务 (LINQ to SQL)).MSDN中描述得相对比较粗狂,下面就结合实例来对此进行 ...
- 将不确定变为确定~Linq to SQL不能随机排序吗?
回到目录 一般来说,在T-SQL时代,随机排序可以进行newid()产生出guid值来实现,代码一般为: SELECT TOP 10 * FROM User ORDER BY NEWID(); 而到了 ...
- C# LINQ TO SQL
LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它 ...
- Linq to Sql 语句全集
LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子 ...
- 如何查看Linq to SQL运行时,实际执行的Sql语句
调试Linq to sql代码是, 如果遇到错误,很难判断错误的原因是什么,如果能够输出实际执行的sql原文,对于我们寻找错误的原因有有很大帮助. 以下是我用到的方法: StringBuilder s ...
- Linq to SQL 资源
Scott Guthrie 的 Linq to SQL 系列: 1)介绍 http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to ...
- .NET 3.5(12) - DLINQ(LINQ to SQL)之事务处理和并发处理
步步为营VS 2008 + .NET 3.5(12) - DLINQ(LINQ to SQL)之事务处理和并发处理 作者:webabcd 介绍 以Northwind为示例数据库,DLINQ(LINQ ...
最新文章
- 开源性能监控工具APM之Skywalking和Pinpoint的实测对比
- 从一个前端项目实践 Git flow 的流程与参考
- python-常见数据类型及其方法
- UA MATH575B 数值分析下II 牛顿算法
- OpenCV2学习笔记(十四):基于OpenCV卡通图片处理
- OS- -请求分页系统、请求分段系统和请求段页式系统(一)
- HALCON 20.11:深度学习笔记(4)--- 网络和训练过程
- 用GA算法设计22个地点之间最短旅程-R语言实现
- 整合Mybatis+Spring | 释疑
- msmms (二) sms与mms 简述!
- 【数据库系统概念】数据库基本概念
- 纳米机器人驱动技术提速十万倍
- 腾达ap设置说明_腾达(Tenda)路由器如何设置AP模式
- tp php websocket教程,tp6 websocket方法详解
- Quartus 软内核NIOS II 入门指导
- 区块链交易——举例说明
- Ubuntu: Host Controller not enabled 报错
- 【精】EOS智能合约:system系统合约源码分析
- 扩展程序 - Google Chrome
- 视频教程-系统集成项目管理工程师5天修炼-软考