实体框架代码首先是自定义,附加字段中的多对多关系

Abh*_*t_K 4 entity-framework entity-framework-4 ef-code-first entity-framework-4.1

在多对多的关系我想保持的序列Playlist是集合MediaChannel.序列将是从0到int max的int字段.

public class Channel
{
    public int ChannelId {get; set;}
    public string Name {get; set;}
    public ICollection<Media> Playlist {get; set;}
}

public class Media
{
    public int MediaId {get; set;}
    public string Name {get; set;}
    public string Location {get; set;}
    public ICollection<Channel> Channels {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

首先使用Entity Framework代码我想设计多对多的关系Channel,Media以便Channel将具有PlaylistMedia类型的项目并维护订单序列.

实体框架将ChannelMedias使用以下模式为此关系添加表

ChannelMedias
-----------------------------
Channel_ChannelId   (int)
Media_MediaId       (int)
Run Code Online (Sandbox Code Playgroud)

如何维护这样的序列顺序:

ChannelMedias
------------------------------
Channel_ChannelId   (int)
Media_MediaId       (int)
MediaSequence       (int)
Run Code Online (Sandbox Code Playgroud)

Jay*_*ena 7

默认实体框架不支持它.您需要再定义一个实体(ChanalMedia)来表示关系.

public class Channel
{
    public int ChannelId {get; set;}
    public string Name {get; set;}
    public ICollection<ChanalMedia> ChanalMedias{get; set;}
}

public class ChanalMedia{
      public Channel Channel {get; set;}
      public Media Media {get; set;}
     //additional fields here..
}

public class Media
{
    public int MediaId {get; set;}
    public string Name {get; set;}
    public string Location {get; set;}
    public ICollection<ChanalMedia> ChanalMedias{get; set;}
}
Run Code Online (Sandbox Code Playgroud)