【发布时间】:2014-06-03 15:19:33
【问题描述】:
我有一个代码优先 MVC 5 项目,其模型具有复合键:
public class XYZ
{
[Key]
[Column(Order = 1)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
//For reporting purposes.
[Key]
[Column(Order = 2)]
public int Version { get; set; }
我正在尝试跟踪每个 XZY 的版本。我只希望 Id 属性在版本为 1 时递增,否则在表中添加一个具有相同 ID 号和递增版本的新行。
我不确定如何让 ID 仅在创建新的 XYZ 而不是新版本时自动递增。关于如何让 Id 仅在我想要一个新的 XYZ 而不是其他版本时自动递增的任何建议?
版本控制的目的是跟踪不同的条目版本,以便可以回滚历史记录。我目前的一个问题是这个项目已经完成了一半,并且由于设计不佳和/或缺乏知识(以前没有人首先编写过 Web 开发代码),我不愿意改变数据库的组织方式。
有用的项目信息:Visual Studio 2013、SQL Server 2012、ASP.Net MVC 5 C#。
【问题讨论】:
标签: c# sql-server asp.net-mvc ef-code-first sql-server-2012