Linq To Sql模式中自动生成T-SQL增删改操作系列~PropertyChanged事件实现在子类中记录属性的变化,在基类中进行统一处理

简介:

通过linq to sql生成的实体,有一些特性,这些特性就包括今天要用的  PropertyChanged和PropertyChanging这两个事件,它们分别记录了实体属性在修改前与修改后的事件变化,

有时,我们使用linq to sql或EF去做为底层ORM时,在更新和删除操作时,总觉得性能不如T-SQL来的快,但LINQ TO SQL用起来实在比T-SQL要方便,这时,你是否有个想法,这T—SQL是否可以根据我们的要求自己生成呢,答案是肯定的,今天讲的就讲一个实现这种操作的基础知识

 1     /// <summary>
 2     /// 实体基类
 3     /// </summary>
 4     public abstract class EntityBase
 5     {
 6         public Dictionary<string, object> PropertyChangedList = new Dictionary<string, object>();
 7         protected void Entity_PropertyChanged(object sender, PropertyChangedEventArgs e)
 8         {
 9             PropertyChangedList.Add(e.PropertyName, null);
10         }
11     }
12     /// <summary>
13     /// 产品类
14     /// </summary>
15     public partial class Product : EntityBase
16     {
17         #region 导航属性
18         public Category Category_Extend { get; set; }
19         public virtual IEnumerable<Product_Property_R> Product_Property_R_Extend { get; set; }
20         #endregion
21 
22         #region 分部方法
23         partial void OnCreated()
24         {
25             this.PropertyChanged += new PropertyChangedEventHandler(base.Entity_PropertyChanged);
26         }
27         #endregion
28 
29     }

测试:

1 Product p = new Product { CategoryID = 2, CreateDate = DateTime.Now };
2 p.PropertyChangedList.ToList().ForEach(i => Console.WriteLine(i));
3 
4 Console.ReadKey();

结果:

下回来说,如何去记录你修改的属性的值是什么,呵呵。

本文转自博客园张占岭(仓储大叔)的博客,原文链接:Linq To Sql模式中自动生成T-SQL增删改操作系列~PropertyChanged事件实现在子类中记录属性的变化,在基类中进行统一处理,如需转载请自行联系原博主。

目录
相关文章
|
2月前
|
SQL 数据库 数据安全/隐私保护
【操作宝典】SQL巨擘:掌握SQL Server Management的终极秘籍!
【操作宝典】SQL巨擘:掌握SQL Server Management的终极秘籍!
61 0
|
4月前
|
SQL 分布式计算 数据库
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
96 0
|
3月前
|
SQL Oracle 关系型数据库
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作
87 0
|
4天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标属性:数据的“导航仪”与“仪表盘”
【4月更文挑战第19天】Oracle PL/SQL游标属性如同车辆的导航仪和仪表盘,提供丰富信息和控制。 `%FOUND`和`%NOTFOUND`指示数据读取状态,`%ROWCOUNT`记录处理行数,`%ISOPEN`显示游标状态。还有`%BULK_ROWCOUNT`和`%BULK_EXCEPTIONS`增强处理灵活性。通过实例展示了如何在数据处理中利用这些属性监控和控制流程,提高效率和准确性。掌握游标属性是提升数据处理能力的关键。
|
1月前
|
SQL 安全 数据库
第三章用sql语句操作数据
第三章用sql语句操作数据
10 0
|
1月前
|
SQL druid Java
【MyBatis】2、MyBatis 的动态 SQL 和增删改操作
【MyBatis】2、MyBatis 的动态 SQL 和增删改操作
29 0
|
2月前
|
SQL 开发框架 .NET
C# Linq SaveChanges()报错 You have an error in your SQL syntex
C# Linq SaveChanges()报错 You have an error in your SQL syntex
10 0
|
3月前
|
SQL 数据库
SQL-DML增删改
SQL-DML增删改
|
3月前
|
SQL 数据库
SQL-修改表操作
SQL-修改表操作
|
3月前
|
SQL 存储 关系型数据库
SQL语句-表操作
SQL语句-表操作

热门文章

最新文章