English 中文(简体)
如何更改实体框架中自动生成的“ 区别器” 栏?
原标题:How to change the auto-generated "Discriminator" column in EntityFramework?

我正在制定一些守则,通过EF4.3使用单桌遗产。

有一个名为“用户”的实体和另一个名为“行政”的实体。管理从用户那里继承。

<强 > 用户级

public class User
{
    public int Id {get;set;}
    public string Username {get;set;}
}

<强度 > 管理等级

public class Admin : User { }

EF 生成数据库表格时带有 disriminator 列。当添加 Admin 记录时, disriminator="Admin" 和用户记录中将具有 disriminator="用户"

我的问题是,如果我想将 用户 输入和 Admin ,我如何更新 Disriminator 栏?

我尝试从一个对象类型到另一个对象类型,并使用 EF 保存,但这并不改变争议列。 我如何改变它?

谢谢你的帮助

最佳回答

对象永远无法更改其类型。 如果您打算更改用户的“ 管理员” 设置( 合理), 您应该使用属性/ 财产而不是类型名称来进行此项操作 。

例如,您可以在 User 对象与 Administator 对象之间有关联,而不是希望 replace User 对象与 Administator 子类型有关联。

问题回答

暂无回答




相关问题
Entity Framework with MySQL connector in c#

I have been trying to get the Entity Framework to work in my web application using MySQL. It works fine on my local pc, but doesn t work when I put it on the server. Since the server is a shared ...

How Do I Create And Update A Many To Many Relationship With EF

I am using the Entity Framework with SQL Server. I have a many to many relationship between 2 tables. I have created a join table with just the primary key fields of the 2 tables. In the designer, the ...

Entity Framework with File-Based Database

I am in the process of developing a desktop application that needs a database. The application is currently targeted to SQL Express 2005 and works wonderfully. However, I m not crazy about having ...

Linq to enties, insert foreign keys

I am using the ADO entity framework for the first time and am not sure of the best way of inserting db recored that contain foreign keys. this is the code that i am using, I would appreciate any ...

Entity Framework - Many to many question

I have a table called ASB and a table called PeopleInvolved. There is a junction table called PeopleInvolved_ASB which simply contains an ASBID and a PeopleInvolvedID column. The columns act as a ...

Post back complex object from client side

I m using ASP.NET MVC and Entity Framework. I m going to pass a complex entity to the client side and allow the user to modify it, and post it back to the controller. But I don t know how to do that ...

ADO.NET Entity Data Model are not precise enough

I run this code: var cos = from k in _db.klienci_do_trasy where k.klient_id == 5 select k; but the query send to database is: SELECT * FROM `klienci_do_trasy` LIMIT 0, 30 why is it for, there ...