C# 首先将两个属性之一设置为与null实体框架代码不同

C# 首先将两个属性之一设置为与null实体框架代码不同,c#,entity-framework,ef-code-first,entity-framework-6,ef-fluent-api,C#,Entity Framework,Ef Code First,Entity Framework 6,Ef Fluent Api,我首先使用的是EF6代码。假设以下场景。我们有这样的课程: class Foo { public int Id { get; set; } public A AProperty { get; set; } public B BProperty { get; set; } } 有没有一种方法,通过使用数据注释或实体框架fluentapi,并且不重新设计整个模型,来确保任何Foo实体必须至少具有一个不同于null的属性,但不能同时具有这两个属性 这类似于本文中的回答,但使用

我首先使用的是EF6代码。假设以下场景。我们有这样的课程:

class Foo
{
    public int Id { get; set; }
    public A AProperty { get; set; }
    public B BProperty { get; set; }
}
有没有一种方法,通过使用数据注释或实体框架fluentapi,并且不重新设计整个模型,来确保任何Foo实体必须至少具有一个不同于null的属性,但不能同时具有这两个属性


这类似于本文中的回答,但使用EF。

我认为您必须在其他层(如您的业务层)执行此验证,并且不要将此责任委托给EF

谢谢,我知道在我的业务层中有几种方法可以做到这一点。但我仍然很想知道这是否可以通过EF实现