gpt4 book ai didi

c# - EF 转换问题

转载 作者:行者123 更新时间:2023-11-30 23:29:51 28 4
gpt4 key购买 nike

我有以下用户类别:

public class CustomUser : User, IUser<int> {...}
public interface IUser<TKey> {...}

User 类是从我的 edmx(数据库到模型方法)生成的部分类。

我正在尝试向数据库添加新用户,但出现错误:“找不到 EntityType“MyNamespace.CustomUser”的映射和元数​​据信息。

添加新用户的代码:

public void CreateUser(CustomUser user)
{
User newUser = (User)user;
this.MyEntities.Users.Add(newUser); <-- Line that error blows
this.MyEntities.SaveChanges();
}

为什么在转换之后,newUser 保持为 CustomUser

最佳答案

newUser 是一个类型为 User 的变量,但它指向内存中原来的 CustomUser

如果您运行 newUser.GetType(),您将获得 CustomUser

要避免这个问题,您需要创建一个用户类型的新对象,并复制其所有属性。您可以使用 AutoMapperValueInjecter自动制作,或手动制作。

另一种解决方案是在您的 EF 模型中配置 CustomUser,使其按预期工作。您没有指定如何定义 EF 模型。

关于c# - EF 转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35204384/

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