子实体的实体框架唯一属性
本文关键字:实体 属性 唯一 框架 | 更新日期: 2023-09-27 18:07:59
我使用的模型类似于流行的Blog/Post EntityFramework示例:
public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
public virtual List<Post> Posts { get; set; }
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public virtual Blog Blog { get; set; }
}
我需要Post。每个博客的标题是唯一的。现在,我有
protected override DbEntityValidationResult ValidateEntity
这里我需要实现逻辑来检查重复,这是不明显的,因为我需要检查Posts。本地和数据库中的帖子,逻辑也取决于entityEntry.Status。这是实现这个限制的唯一可能的方法吗?或者可能存在一些更优雅的解决方案?
如何为它们添加唯一索引:
[Index("IdAndTitle", 1, IsUnique = true)]
public string Title { get; set; }
[Index("IdAndTitle", 2]
public int BlogId { get; set; }