[英]What is a proper way of writing entity POCO classes in Entity Framework Core?
[英]What is the proper way to remove a reference using the .NET 4 Entity Framework?
我有一个名为projectVersion
的TPM_PROJECTVERSION
实例,该实例具有一个名为TPM_USER5
的属性,该属性的类型为TPM_USER
。 一个TPM_PROJECTVERSION
可以有零个或一个TPM_USER5
引用(对不起,我没有提供这些名称。)
当用户单击“ 删除”按钮时,我想删除此引用,因此将数据库中的列设置为null。 我尝试了以下方法:
projectVersion.TPM_USER5 = null;
但是,当我调用context.SaveChanges()
,该列未更新,并且没有任何反应。 在调试器下,我可以看到projectVersion.TPM_USER5
确实为空,并且我还看到projectVersion.TPM_USER5Reference.IsLoaded
为true。 我也尝试过:
context.DeleteObject(projectVersion.TPM_USER5);
如果执行此操作,则在调用context.SaveChanges()
出现异常:
{“ ORA-02292:违反完整性约束(TPMDBO.TPM_PROJECTCHANGES_TPM_US_FK1)-找到子记录”}
我很乐意发布有关实体映射的更多信息,但不确定确切相关的信息。 有任何想法吗?
如果我理解正确,那么您将仅删除导航属性(TPM_USER5)。 尝试将原始属性(TPM_USER5ID?-可能是您的数据库列名称)设置为null。
每个导航属性都必须具有相关的原始属性(不是POCO实体),并且您可以使用两者将用户与TPM_USER5关联(原始属性-设置ID,导航属性-设置引用)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.