码迷,mamicode.com
首页 > 其他好文 > 详细

Entity Framework Code-First(9.3):ConcurrencyCheck Attribute

时间:2016-07-05 17:14:09      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

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 NUPDATE [dbo].[Students]
SET [StudentName] = @0
WHERE (([StudentId] = @1) AND ([StudentName] = @2))
,N@0 nvarchar(max) ,@1 int,@2 nvarchar(max) ,@0=NSteve,@1=1,@2=NBill
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.

Entity Framework Code-First(9.3):ConcurrencyCheck Attribute

标签:

原文地址:http://www.cnblogs.com/purplefox2008/p/5644125.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!