相关疑难解决方法(0)

实体框架:继承,更改对象类型

假设我在模型中有2个类:User(映射到USERS表)和PrivilegedUser(继承User,其他信息存储在PRIVILEGEDUSERS表中).

现在,我在USERS(和User的实例)中有一行,需要将该用户转换为PrivilegedUser(即在PRIVILEGEDUSERS中创建具有相同Id的记录).有没有办法在没有删除/插入的情况下执行此操作?

问题是您在模型中没有PRIVILEGEDUSERS表示,因此您不能仅创建PrivilegedUser的那部分.


这只是一个例子.普通用户属性,PrivilegedUser可能还有一些折扣或个人经理或其他任何东西.同时,无论具体的用户类型如何,还有其他表需要引用用户.我已经使用Table-per-Type继承模式实现了它.在数据库级别,将用户从一种类型转换为另一种类型非常简单(您只需要从扩展表中插入或删除记录).但在EF中,您只有UserSet,它存储User和PrivilegedUser对象.这就是为什么我要问是可以用PrivilegedUser 替换现有的 User对象来保留现有的Id并且不从USERS表中删除记录.

inheritance entity-framework

13
推荐指数
1
解决办法
3597
查看次数

更改作为继承层次结构一部分的(Entity Framework)实体的类型

我有一个继承层次结构,其中包含一个基本的Employee实体和一些用于特定员工类型的后代实体.我需要能够将基础Employee实体转换为更具体的实体(例如TemporaryEmployee),并从更具体的类型转换回基本类型(例如,如果员工不再是"临时"的话,那么我希望该实例只是持久化为Employee.在DB中,这只是在表中为特定子类添加或删除一行的问题.(我每个类都使用表.)虽然我没有看到如何使用EF调用.

.net inheritance entity-framework

8
推荐指数
2
解决办法
4343
查看次数

在实体框架中更改继承的类型

我看到这里有一个类似的问题,但我认为不是很清楚所以我正在创建另一个:实体框架:继承,更改对象类型

我有一个继承自实体人的实体学生.

在某些时候,一个人可以成为一名学生.

在没有存储过程或创建新实体的情况下,实体框架4中是否有任何方法可以处理此问题.

entity-framework entity-framework-4

5
推荐指数
1
解决办法
2950
查看次数