esc*_*ist 5 .net optimistic-concurrency entity-framework-4
我试图在ASP.NET MVC应用程序中实现使用Entity Framework处理并发中给出的解决方案.
文章说:
将跟踪属性添加到部门实体
在Models\Department.cs中,添加一个跟踪属性:
Run Code Online (Sandbox Code Playgroud)[Timestamp] public Byte[] Timestamp { get; set; }Timestamp属性指定此列将包含在发送到数据库的Update和Delete命令的Where子句中.
由于我使用的是模型第一种方法,因此我遵循了使用Entity Framework创建时间戳列中概述的步骤1 - 5
当我从数据库模型更新我的代码时,Models\Department.cs现在包含
public virtual byte[] Timestamp
{
get;
set;
}
Run Code Online (Sandbox Code Playgroud)
然后我使用元数据类来指定Timestamp属性:
// Metadata for Department entity
public class DepartmentMetadata
{
[Timestamp]
public byte Timestamp { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Q1.Timestamp在行编辑的情况下,我测试了列的值是否发生了变化.事实并非如此.
编辑1问题是由于SQL Server列类型binary,它应该是类型的原因引起的timestamp.更改数据类型修复了Timestamp列未更新的问题.
Q2.我试图修改同一个实体(使用"在新标签页中打开")来查看是否OptimisticConcurrencyException抛出了一个实体.事实并非如此.我究竟做错了什么?请帮助我理解,谢谢.

| 归档时间: |
|
| 查看次数: |
3762 次 |
| 最近记录: |