gpt4 book ai didi

.net - 找不到实体类型 'List'。确保已将实体类型添加到模型中

转载 作者:行者123 更新时间:2023-12-03 14:57:21 25 4
gpt4 key购买 nike

我正在使用.net core 2.0构建应用程序。我有一个带有地址列表的Person对象。地址存储在“地址”表中。然后,我有了一个将人与地址相关联的联接表。

class Person {
public List<PersonAddress> Addresses { get; set; }
}

class Address {
...address properties...
}

class PersonAddress{
public int AddressId { get; set; }
public Address Address { get; set; }

public int PersonId { get; set; }
public Person Person { get; set; }
}

当我用包含地址的PersonAddress保存一个Person对象时,它工作得很好。它在联接表中插入一个新人,一个新地址和一个新记录。 (我已经在流利的api中配置了关系)。

但是,当我尝试更新时,我遇到了问题。在向一个人对象加载其地址列表之后,我可以添加,删除或更改地址,并且不会跟踪这些更改。

我在 Controller 中进行了尝试,以使其能够处理更改:
dbContext.Entry(person.Addresses).State = EntityState.Modified;

我得到这个错误:
The entity type 'List<PersonAddress>' was not found. Ensure that the entity type has been added to the model.
毫无疑问,它在模型上,所以我不知道为什么这不起作用。我试过这个:
person.Addresses.ForEach(item => _context.Entry(item).State = EntityState.Modified);

没关系,但这不能跟踪添加或删除,因此还不够。

最佳答案

在我的情况下,该方法是异步的,并且由于忽略了“await”关键字而出现了错误。查看随附的图片,可能会有所帮助。
Added the await keyword
Entity type not found error

关于.net - 找不到实体类型 'List<PersonAddress>'。确保已将实体类型添加到模型中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49138548/

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