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 關注
- 188 瀏覽
添加回答
舉報