entity-framework - Entity Framework 代码优先,自定义,多对多关系中的附加字段

标签 entity-framework entity-framework-4 entity-framework-4.1 ef-code-first

在多对多关系中,我想保持 Playlist 的顺序这是 Media 的集合对于 Channel .该序列将是一个从 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;}
}

首先使用实体​​框架代码我想设计Channel之间的多对多关系和 Media使Channel会有 Playlist媒体类型的项目,并维护订单顺序。

Entity Framework 将添加一个表 ChannelMedias对于与以下模式的这种关系
ChannelMedias
-----------------------------
Channel_ChannelId   (int)
Media_MediaId       (int)

我如何维护这样的序列顺序:
ChannelMedias
------------------------------
Channel_ChannelId   (int)
Media_MediaId       (int)
MediaSequence       (int)

最佳答案

默认 Entity Framework 不支持它。您需要再定义一个实体(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;}
}

关于entity-framework - Entity Framework 代码优先,自定义,多对多关系中的附加字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10695726/

相关文章:

c# - Dal(带有 Entity Framework )和模型层进入 MVC

c# - Entity Framework 中的共享连接字符串

entity-framework-4 - 将 EF4 DbContext 与域服务一起使用

c# - 未调用 EF 4.1 OnModelCreating

.net - EF4、事务范围和任务<>

c# - Entity Framework Core 2.0 Add-Migration 不创建任何迁移文件

c# - 存储库模式仅检索所需的列

entity-framework - Entity Framework 4 支持批量插入吗?

ef-code-first - 如何使用 Entity Framework 4 Code-First 定义数据库 View ?

entity-framework - 我应该如何使用 EF 4.1 注释 CreatedOn 和 ModifiedOn 列?