2 回答
TA贡献1772条经验 获得超8个赞
这是因为您的实体之一(继承自接口:)IEntity没有标识列。
请检查您的所有实体。确保他们都有一个 ID 或标记为 的属性[Key]。
public class MyEntity : IEntity
{
// make sure:
public int Id { get; set; }
// or:
[Key]
public int SomeProperty { get; set; }
}
TA贡献1836条经验 获得超3个赞
仅对于注册而言,当从现有表创建 UniqueKey 并且 UniqueKey 字段之间已存在重复记录时,这种情况也会发生在 DDD 中。
例子:
//SQL: [dbo].[User]:
Id | Name | Login
1 | Thi | thi.xpto
2 | Thi | thi.xpto
[Table("User")]
public class User
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Login { get; set; }
}
public class UserDbContext : DbContext
{
...
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>()
.HasAlternateKey(x => new { x.Name, x.Login })
.HasName("UK_User_NameLogin");
}
}
- 2 回答
- 0 关注
- 107 浏览
添加回答
举报