Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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#_.net_Casting_Mapping_Automapper - Fatal编程技术网

自动映射:缺少类型映射配置或不支持的映射,C#?

自动映射:缺少类型映射配置或不支持的映射,C#?,c#,.net,casting,mapping,automapper,C#,.net,Casting,Mapping,Automapper,我有这样的课程: public abstract class BookingShoppingCart : SerializableEntity, IShoppingCart { protected BookingShoppingCart() { Accommodations = new ObservableCollection<RQBooking>(); Packages = new ObservableCollection<RQ

我有这样的课程:

public abstract class BookingShoppingCart : SerializableEntity, IShoppingCart
{
    protected BookingShoppingCart()
    {
        Accommodations = new ObservableCollection<RQBooking>();
        Packages = new ObservableCollection<RQBooking>();
        Splits = new ObservableCollection<RQBookingContainer>();
    }

    public ObservableCollection<RQBooking> Accommodations { get; set; }

    public ObservableCollection<RQBooking> Packages { get; set; }

    public ObservableCollection<RQBookingContainer> Splits { get; set; }

    public List<RQBooking> AllAccommodationsAndParts
    {
        get { return Accommodations.Union(Splits.SelectMany(s => s.Bookings)).ToList(); }
    }

    public List<RQBooking> AllBookedItemsAndParts
    {
        get { return Accommodations.Union(Packages).Union(Splits.SelectMany(s => s.Bookings)).ToList(); }
    }

    public decimal AccommodationFeesTotal
    {
        get { return AllBookedItemsAndParts.Sum(x => (x.RQReservation.FeeRules.Any(r => r.AppliedOn == FeeAppliedOn.Booking)) ? x.RQReservation.FeeRules.Where(r => r.AppliedOn == FeeAppliedOn.Booking).Sum(r => r.Total) : 0); }
    }

    public decimal AddonsFeesTotal
    {
        get { return AllAccommodationsAndParts.Sum(x => (x.DefaultRQAddonsOrder.Items.SelectMany(oi => oi.FeeRules).Sum(r => r.Total))); }
    }

    public decimal AccommodationTotalWithoutFees
    {
        get { return AllAccommodationsAndParts.Sum(x => x.RQReservation.TotalBooking) + Packages.Sum(x => x.Total); }
    }

    public decimal AddonsTotalWithoutFees
    {
        get { return AllAccommodationsAndParts.Sum(x => OrderItemGrouping.ItemsExceptFree(x.DefaultRQAddonsOrder).Sum(o => o.Total)); }
    }


    public decimal AddonsTotal
    {
        get { return AddonsTotalWithoutFees + AddonsFeesTotal; }
    }


    public UserInfoRequest UserInfoRequest { get; set; }

    public string Currency { get; set; }
    public string BookingDates { get; set; }
    public string BookingStartDate { get; set; }
    public string BookingStartDateFormat { get; set; }
    public string BookingEndDate { get; set; }        
    public string BookingEndDateFormat { get; set; }
    public string BookingNights { get; set; }

    public decimal CurrencyExcRate { get; set; }

    public abstract decimal Total { get; }

    public abstract void Init();
}




 public class BookingShoppingCartCreate : BookingShoppingCart
        {
            public override decimal Total
            {
                get { return AccommodationTotal + AddonsTotal; }
            }

            public override void Init()
            {

            }
        }


public class QuoteBookingShoppingCart : BookingShoppingCartCreate
    {
    }
怎么了?从BookingShoppingCart到BookingShoppingCartCreate的映射有效,但从BookingShoppingCartCreate到QuoteShoppingCart的映射无效-否:( 我还尝试指定所有具有

.ForMember(dest => dest.AccommodationFeesTotal, exp => exp.MapFrom(scc => scc.AccommodationFeesTotal))

等等,但没有结果。

它抱怨属性
QuoteBookingShopingCart
。但这不在您的代码中。应该如何映射?它的类型是什么?对应的源属性的类型是什么。AM说这些类型无法映射,也许您需要它们之间的映射。@LucianBargaoanu抱歉,不明白-什么是property QuoteBookingShoppingCart?这是一个类也许你正在使用一个旧版本,其中有一些奇怪的消息。然后你应该升级。但是消息说
目标路径:QuoteBookingShoppingCart
。但这是正常的,不是吗?我认为目标路径=映射的类。我也可以在no中看到这一点,它应该是属性。U普拉德。
public class ExampleAutomapperConfiguration
    {
        public static void Configure()
        {
            Mapper.Initialize(
                configuration =>
                {
                    configuration.AddProfile<QuoteProfile>();
                });

            Mapper.AssertConfigurationIsValid();
        }


public class QuoteProfile : BaseProfile
    {
        protected override void Configure()
        {
            CreateMap<BookingShoppingCart, BookingShoppingCartCreate>()
                    .IgnoreAllNonExisting();
            CreateMap<BookingShoppingCartCreate, QuoteBookingShoppingCart>()
                .IgnoreAllNonExisting();
        }
    }
Missing type map configuration or unsupported mapping.

Mapping types:
BookingShoppingCartCreate -> QuoteBookingShoppingCart
ShoppingCarts.BookingShoppingCarts.BookingShoppingCartCreate -> ShoppingCarts.BookingShoppingCarts.QuoteBookingShoppingCart

Destination path:
QuoteBookingShoppingCart
.ForMember(dest => dest.AccommodationFeesTotal, exp => exp.MapFrom(scc => scc.AccommodationFeesTotal))