C# 4.0 多重性约束冲突调试

C# 4.0 多重性约束冲突调试,c#-4.0,entity-framework-4,C# 4.0,Entity Framework 4,我的实体模型中出现了多重性约束冲突 在实体模型上,我有两个关系属性: 物质类型混合成分 类别 物质类型混合成分 -多重性*(多) 类别 -多重性:1(一) -外键,不为空 如何找到导致问题的原因并解决此问题 System.InvalidOperationException: A relationship multiplicity constraint violation occurred: An EntityReference expected at least one related obj

我的实体模型中出现了多重性约束冲突

在实体模型上,我有两个关系属性:

  • 物质类型混合成分
  • 类别
  • 物质类型混合成分
    -多重性*(多)
    类别
    -多重性:1(一)
    -外键,不为空

    如何找到导致问题的原因并解决此问题

    System.InvalidOperationException: A relationship multiplicity constraint violation occurred: An EntityReference expected at least one related object, but the query returned no related objects from the data store.
       at System.Data.Objects.DataClasses.EntityReference`1.Load(MergeOption mergeOption)
       at System.Data.Objects.DataClasses.RelatedEnd.DeferredLoad()
       at System.Data.Objects.Internal.LazyLoadBehavior.LoadProperty[TItem](TItem propertyValue, String relationshipName, String targetRoleName, Boolean mustBeNull, Object wrapperObject)
       at System.Data.Objects.Internal.LazyLoadBehavior.<>c__DisplayClass7`2.<GetInterceptorDelegate>b__2(TProxy proxy, TItem item)
       at System.Data.Entity.DynamicProxies.SubstanceType_BEE32ACA75386E981F7CA3F6A3C565BC1D8ADACA228C603A2EACC918DCDCBA30.get_Category()
    
    System.InvalidOperationException:发生关系多重性约束冲突:EntityReference至少需要一个相关对象,但查询未从数据存储返回任何相关对象。
    位于System.Data.Objects.DataClasses.EntityReference`1.Load(合并选项合并选项)
    位于System.Data.Objects.DataClasses.RelatedEnd.DeferredLoad()处
    在System.Data.Objects.Internal.LazyLoadBehavior.LoadProperty[TItem](TItem propertyValue,String relationshipName,String targetRoleName,Boolean mustBeNull,Object wrapperObject)
    在System.Data.Objects.Internal.LazyLoadBehavior.c__DisplayClass7`2.b__2(TProxy代理,TItem项)
    在System.Data.Entity.DynamicProxies.SubstanceType_BEE32ACA75386E981F7CA3F6A3C565BC1D8ADACA228C603A2EACC918DCDCBA30.get_Category()
    
    据我所知,您有两个实体-
    类别和
    SubstanceTypeMixComponent
    具有一对多的关系-一个
    类别可以有多个
    SubstanceTypeMixComponent
    ,但是
    SubstanceTypeMixComponent
    可以有(并且必须有)只有一个
    类别
    (如果我错了,请纠正我)。您收到的错误消息的意思与它所说的完全相同-您正在尝试使用
    SubstanceTypeMixComponents
    的空集合保存
    类别
    ,或者一个
    substanceTypeMixComponent
    没有
    类别的

    @Michael-你在这里把我弄丢了:
    我对1(一)的一个关系有多重性约束,其中数据库的外键不为null,第二个关系为*(多个),其中数据库有多对多关系
    。你有一对多还是多对多的关系?对不起。我编辑这篇文章是为了让它更有意义。希望能有所帮助。@Michael-您的模型的屏幕截图最好,但据我所知,您有两个实体-
    类别
    SubstanceTypeMixComponent
    ,它们具有
    一对多
    关系-一个
    类别
    可以有多个
    SubstanceTypeMixComponents
    ,但是
    SubstanceTypeMixComponent
    只能(并且必须)有一个
    类别
    (如果我错了,请纠正我)。您收到的错误消息的意思与它所说的完全相同-您正在尝试使用
    SubstanceTypeMixComponents
    的空集合保存
    类别
    ,或者一个
    substancetypemixcomponent
    没有
    类别
    @Yakimych:把
    substancetypemixcomponent
    没有
    Category
    的部分作为答案,因为这将是问题所在。@Ladislav-你怎么认为这不是另一回事?