Интересный код EF4 - первый вопрос об отношениях «многие ко многим» - PullRequest
1 голос
/ 21 декабря 2010

У меня есть две модели: отчет:

public class Report
{
    public int Id { get; set; }
    public string Name { get; set; }

    public virtual ChargeType ChargeTypes { get; set; }
}

public class ReportConfiguration : EntityConfiguration<Report>
{
    public ReportConfiguration()
    {
        MapSingleType(r => new { r.Id, r.Name }).ToTable("Report");

        HasMany(r => r.ChargeTypes)
          .WithMany(c => c.Reports)
          .Map("Report_ChargeType", (r,c) => new { ReportId = r.Id,
                                                   ChargeTypeId = c.Id });
    }
}

и ChargeType:

public class ChargeType
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int SortOrder { get; set; }

    public virtual Report Reports { get; set; }
}

public class ChargeTypeConfiguration : EntityConfiguration<ChargeType>
{
    public ReportConfiguration()
    {
        MapSingleType(c => new { c.Id, c.Name }).ToTable("ChargeType");

        // map SortOrder property to join table "Report_ChargeType"
        MapSingleType(c => c.SortOrder).ToTable("Report_ChargeType"); // doesn't work

    }
}

Я хочу иметь возможность сопоставить свойство SortOrder ChargeType с таблицей соединенийотчета и ChargeType.Я пробовал много вещей безуспешно, и я знаю, что должен быть какой-то способ сделать это, но я в растерянности.Надеюсь, у кого-то есть понимание того, как это можно сделать.

...