【问题标题】:RavenDB Transformation - Exception thrown when trying to create a list of objectRavenDB 转换 - 尝试创建对象列表时引发异常
【发布时间】:2017-05-23 17:48:36
【问题描述】:

我正在尝试运行 RavenDB 转换以将我的文档映射到视图模型,但我遇到了这个错误:

错误 CS1503 - 参数 1:无法从“AnonymousType#1”转换

我不确定为什么我不能在这里初始化新的 OfferRate 列表。如何正确地将我的文档模型映射到视图模型?

Offer_ViewModel.cs

public class Offer_ViewModel : AbstractTransformerCreationTask<Offer>
{
    public Offer_ViewModel()
    {
        TransformResults = offers => offers
            .Select(offer => new ViewModels.Offer
            {
                Id = offer.Id,
                MerchantId = offer.MerchantId,
                Title = offer.Title,
                OfferRates = new List<OfferRate>
                {
                  new OfferRate
                  {
                      Type = OfferRateType.Base,
                      Amount = offer.Amount,
                      Percentage = offer.Percentage
                  }  
                },
                Currency = offer.Currency
            });
    }
}

我在此处按照指南使用转换器映射查看模型:https://ravendb.net/articles/working-with-view-models,但该示例不包括映射聚合对象。

【问题讨论】:

  • 如果将其更改为 `OfferRates = new []` 会发生什么?
  • 这行得通,谢谢@AyendeRahien。

标签: c# ravendb


【解决方案1】:

根据上面的评论,将集合更改为数组是可行的。

Offer_ViewModel.cs

public class Offer_ViewModel : AbstractTransformerCreationTask<Offer>
{
    public Offer_ViewModel()
    {
        TransformResults = offers => offers
            .Select(offer => new ViewModels.Offer
            {
                Id = offer.Id,
                MerchantId = offer.MerchantId,
                Title = offer.Title,
                OfferRates = new[]
                {
                  new OfferRate
                  {
                      Type = OfferRateType.Base,
                      Amount = offer.Amount,
                      Percentage = offer.Percentage
                  }  
                },
                Currency = offer.Currency
            });
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-09
    • 2016-08-17
    • 2012-05-22
    相关资源
    最近更新 更多