EF Core Compound键auto_increment辅助列

时间:2017-05-16 11:58:56

标签: c# asp.net entity-framework-core

基本上我想要这样的东西:

+----+------+-----+
| Id | Name | Ver |
+----+------+-----+
| 1  | Foo  | 1   |
| 2  | Foo  | 2   |
| 3  | Bar  | 1   |
| 4  | Baz  | 1   |
+----+------+-----+

每个对象都分配了版本。版本号由DB自动递增。当然,对于每个新版本化对象,版本号需要重置为1.

我试过了:

u.HasKey(x => x.Id);
u.HasKey(x => new { x.Name, x.Ver } );
u.Property(x => x.Ver)
    .ValueGeneratedOnAdd();

u.HasKey(x => new { x.Name, x.Ver, x.Id } );

及其变体。

似乎什么都没有给我我想要的东西。每当我添加一个新的命名条目时,Ver都会不断递增。

1 个答案:

答案 0 :(得分:0)

可能是一个将版本设置为现有行的Count(*)的触发器?此外,在版本控制时...版本号是否真的必须遵循?如果存在差距,我认为这不应该是一个问题。如果您想知道某行是否具有更高版本或更早版本,只需检查版本号大于或小于的行。