具有以下内容TestClass:
[Table("xyz")]
public partial class TestClass{
[Key]
public int key {get; set;}
[ForeignKey("key")]
public virtual ICollection<ExternalClass> externalClasses{get; set;}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
...
}
}
我需要如何设置该类以满足我的以下要求:
我想用实体框架单元测试来测试模型
在生产中,externalClasses
不应保存(应该已经在数据库中)
EF 必须确保每个外部类都存在于 DB 中。如果没有,则抛出异常。
我的第一个想法是将外部对象设置为 null 并在验证方法中请求数据库以检查外键是否存在。但是这种方法在单元测试中效果不佳,除此之外,在我看来,在模型中包含数据库请求并不是那么干净。
有没有人知道如何使用 EF 以干净的方式处理这个问题?
四季花海
慕神8447489
相关分类