one を使用してデータを取得しようとしていますGetData
。このビジネス メソッドは、このアクション メソッドのサービス レイヤーを介してコントローラーから呼び出されます。
public PartialViewResult Grid()
{
var model = new DomainModels.Reports.MeanData();
using (var reportsClient = new ReportsClient())
{
model = reportsClient.GetData(reportType, toDate, fromDate); //<= error on this line
}
return PartialView("_Grid", model);
}
次のエラーが表示されます。
System.Collections.Generic.List<BusinessService.Report.MeanData>
タイプ ' ' を ' ' にDomainModels.Reports.MeanData
暗黙的に変換することはできません
同僚が Automapper を使用することを提案していたので、私は彼のために働いたものに基づいて、次のようにアクション メソッドを変更しました。
public PartialViewResult Grid()
{
using (var reportsClient = new ReportsClient())
{
Mapper.CreateMap<DomainModels.Reports.MeanData, BusinessService.Report.MeanData>();
var model = reportsClient.GetData(reportType, toDate, fromDate);
DomainModels.Reports.MeanData viewModel = //<= error on this line
Mapper.Map<DomainModels.Reports.MeanData, BusinessService.Report.MeanData>(model);
}
return PartialView("_Grid", viewModel);
}
次のエラーが表示されます。
AutoMapper.Mapper.Map<DomainModels.Reports.MeanData,BusinessService.Report.MeanData>
「 (DomainModels.Reports.MeanData)」に最適なオーバーロードされたメソッドの一致には、無効な引数が含まれています
DomainModel エンティティ:
[DataContract]
public class MeanData
{
[DataMember]
public string Description { get; set; }
[DataMember]
public string Month3Value { get; set; }
[DataMember]
public string Month2Value { get; set; }
[DataMember]
public string Month1Value { get; set; }
}
生成された にある BusinessService エンティティにはreference.cs
、DomainModel エンティティと同じ名前のプロパティがあります。
両方のインスタンスで何が間違っていますか?