2011-12-25 47 views
0

我有一个关于EF4的问题,并希望通过一个例子来说明它的动态关系:创建一个实体,并通过类的第一种方法

class User 
{ 

    public int Type; 
    public object Pointer; 

} 


class Admin 
{ 

    public Username; 
    public Password; 
    ... 

} 

class Manager 
{ 

    public Username; 
    public Password; 
    ... 

} 

class Member 
{ 

    public Username; 
    public Password; 
    ... 

} 

我想设计这样的: 看看User类,如果User.Type == 1我想User.Pointer指向Admin类的一个对象,并且如果User.Type == 2我想User.Pointer指向Manager类和最后一个对象,如果User.Type == 3我想User.Pointer指向Member类的一个对象。

但我想知道它可以在EF4中设计这个怎么做?有没有解决方案来设计类似的东西?我可以得到一些帮助地图详细信息窗口在Visual Studio 2010中做到这一点?我需要咨询的朋友,L的等待:)

问候,阿里

回答

1

是的,这是可能的EF 4,但随后你正在尝试现在要做的有点不同。

不是为每个用户类型分别创建类并定义每个类的UserName和Password等属性,都可以使用继承。

如果您创建基类User并在其上定义了UserNamePassword,则可继承User中的所有其他用户类型。

EF知道如何将其映射到数据库并为其使用鉴别器列,就像您所说的那样,其中某个索引指向类类型。 Mapping Details窗口的确是可以帮助你的窗口。在这里您可以指定鉴别器列的内容以及哪一行应指向哪个实体。

Here is some documentation如果您使用实体模型,可以帮助您进一步,如果您使用代码优先方法,可以帮助您进一步提高or here

+0

恰好我的意思是**鉴别器列**。我再次检查 – 2011-12-25 08:35:06

+0

感谢Wouter对你的大力帮助 – 2011-12-25 08:36:07

相关问题