1
public class MyClassA
{
    int Id { get; set; }
    string Name { get; set; }

    int MyClassBId { get; set; }
    int MyClassCId { get; set; }
}

public class MyClassB
{
    int Id { get; set; }
}

public class MyClassC
{
    int Id { get; set; }
}

私は参加します:

using (var context = GetNewContext())
{
    var liste =
        (from myA in context.MyClassA
         join myB in context.MyClassB on myA.MyClassBId equals myB.Id
         join myC in context.MyClassC on myA.MyClassCId equals myC.Id
         select MyClassA).ToList<MyClassA>();

    return Mapper.Map<IList<MyClassA>, List<MyOtherClassA>>(liste);
}

リターン時にこの例外が発生します:

Missing type map configuration or unsupported mapping.
_FB2F4E3BBB925EC65C0AE58F6566366E06009C68B4A2C1C12EE401E77A489D87 -> IMyClassB
System.Data.Entity.DynamicProxies.SITE_FB2F4E3BBB925EC65C0AE58F6566366E06009C68B4A2C1C12EE401E77A489D87

マッピングは次のとおりです。

Mapper.CreateMap<MyClassA, MyOtherClassA>()
    .ForMember(x => x.MyClassB, opt => opt.Ignore())
    .ForMember(x => x.MyClassC, opt => opt.Ignore());

その他の問題(?) ...挿入しようとすると、これを行う必要があります:

var newA = Mapper.Map<MyOtherClassA, MyClassA>(newA);
newA.MyClassB = null;
newA.MyClassC = null;

context.MyClassA.Add(newA);
context.SaveChanges();
4

0 に答える 0