Entity Framework Code-First(9.3):DataAnnotations - ConcurrencyCheck Attribute
ConcurrencyCheck Attribute:
ConcurrencyCheck attribute can be applied to a property of a domain class. Code First takes the value of a column in "where" clause when EF executes update command for the table. You can use ConcurrencyCheck attribute when you want to use existing column for concurrency check and not a separate timestamp column for concurrency.
Consider the following example.
using System.ComponentModel.DataAnnotations; public class Student
{
public Student()
{ } public int StudentId { get; set; } [ConcurrencyCheck]
public string StudentName { get; set; }
}
As you can see in the above example, ConcurrencyCheck attribute is applied to existing StudentName property of the Student class. So, Code-First will include StudentName column in update command to check for optimistic concurrency.
exec sp_executesql N'UPDATE [dbo].[Students]
SET [StudentName] = @0
WHERE (([StudentId] = @1) AND ([StudentName] = @2))
',N'@0 nvarchar(max) ,@1 int,@2 nvarchar(max) ',@0=N'Steve',@1=1,@2=N'Bill'
go
Note that TimeStamp attribute can only be applied to a single byte array property in a class, whereas ConcurrencyCheck attribute can be applied to any number of properties with any datatype.
最新文章
- 防刷票机制研究和.NET HttpRequest Proxy
- Could not load file or assembly 'Microsoft.SqlServer.Management.Sdk.Sfc, Version=11.0.0.0 系统找不到指定的文件。
- 使用DBI(perl)实现文本文件的导入导出mysql
- iOS开发--二维码的扫描
- jQuery Validate 表单验证插件----通过name属性来关联字段来验证,改变默认的提示信息,将校验规则写到 js 代码中
- java方法签名
- Enum 枚举
- http一问一答
- linux下的僵尸进程处理SIGCHLD信号
- ORACLE OCP认证
- java反思reflect 分析Object物
- jQuery Fancybox插件介绍
- 用sql获取一段时间内的数据
- javascript原型与原型链,prototype、__proto__、constructor
- angular.uppercase()
- CentOS Linux安装python3
- openstack-KVM安装与使用
- Linux下C语言连接MySQL
- 1038. Jewels And Stones
- 第一章 JQuery概述