gpt4 book ai didi

c# - 'Y' 中的实体参与 'FK_Y_X' 关系。找到 0 个相关的 'X'。预计 1 'X'

转载 作者:可可西里 更新时间:2023-11-01 08:25:56 24 4
gpt4 key购买 nike

我在 XY 之间有一个 1..* 关系,其中 X 是父级。当我尝试删除记录 Y 时,我收到以下异常消息:

Entities in 'Y' participate in the 'FK_Y_X' relationship. 0 related 'X' were found. 1 'X' is expected.

我目前正在尝试通过以下方式以通用的、断开连接的方式删除记录:

public bool Delete(TEntity entity)
{
if (entity == null)
{
return false;
}
try
{
var entry = _context.Entry(entity);
entry.State = EntityState.Deleted;
_context.SaveChanges();
return true;
}
catch
{
return false;
}
}

传入的实体在同一上下文中使用 AsNoTracking() 加载。

有什么想法吗?

最佳答案

尝试向 X 添加一个公共(public)属性 YId,它将保持与 Y 的连接,这解决了我的问题,我将 Breeze 与 EF6 一起使用,但我遇到了同样的错误。

Class Y 
{
public int Id { get; set; }
public ICollection<X> Xs { get; set; }
}

Class X
{
public int Id { get; set; }
public int YId { get; set; }
public Y Y { get; set; }
}

关于c# - 'Y' 中的实体参与 'FK_Y_X' 关系。找到 0 个相关的 'X'。预计 1 'X',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24733689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com