Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有相同实体框架的多对多_C#_Entity Framework - Fatal编程技术网

C# 具有相同实体框架的多对多

C# 具有相同实体框架的多对多,c#,entity-framework,C#,Entity Framework,我的数据库中有一个奇怪的关系 基本上,它是一个连接到相同类型实体的实体 我所拥有的是: 型号: public class Article { -- Properties -- ICollection<Article> ConnectedArticles { get; set; } } 但我希望实体框架能够独立完成这项工作,就像它对独立实体的多对多操作一样 有可能用实体框架很好地解决这个问题,还是我遗漏了一些关键的东西 谢谢, 罗宾·多贝尔(Robin Dorbe

我的数据库中有一个奇怪的关系

基本上,它是一个连接到相同类型实体的实体

我所拥有的是:

型号:

public class Article
{
    -- Properties --

    ICollection<Article> ConnectedArticles { get; set; }
} 
但我希望实体框架能够独立完成这项工作,就像它对独立实体的多对多操作一样

有可能用实体框架很好地解决这个问题,还是我遗漏了一些关键的东西

谢谢,
罗宾·多贝尔(Robin Dorbell)

我想看看你的
MapLeftKey
MapRightKey
是同一列。你可能需要有一个不同的专栏来区分它们之间的关系。谢谢你的输入,但它们之间的关系并没有什么不同,它们只是相关的。能帮上忙吗?嗯,真是巧合,我刚才回答了类似的问题
modelBuilder.Entity<Article>()
    .HasMany(ca => ca.ConnectedArticles)
    .WithMany(ca => ca.ConnectedArticles)
    .Map(m => 
    { 
        m.MapLeftKey("ArtNo"); 
        m.MapRightKey("ArtNo");
        m.ToTable("ConnectedArticles");
    });
public class ConnectedArticle
{
    public Article article1 { get; set; }
    public Article article2 { get; set; }
}