我目前有这个报告布局
ProductNumberDescriptionPackTypeDimensionWeight
PN 1 Desc PN1 InnerPack 1x1x1 1
PN 1 Desc PN1 SinglePack1x1x1.2 1.2
PN 2 Desc PN2 InnerPack 2x2x2 2
PN 2 Desc PN2 SinglePack2x2.2x2.2 2.3
PN 3 Desc PN3 BulkPack 3x3x3 3
现在,我的用户想要像这样转动
InnerPack SinglePack BulkPack
ProductNumberDescriptionDimensionWeightDimensionWeightDimensionWeight
PN 1 Desc PN1 1x1x1 1 1x1x1.2 1.2
PN 2 Desc PN2 2x2x2 2 2x2.2x2.2 2.3 …
我有以下课程
public PhoneModel
{
int PhoneID;
string PhoneType;
string PhoneNumber;
}
public ContactModel
{
int ContactID;
string FirstName;
string LastName;
List<PhoneModel> PhoneNumber;
}
Run Code Online (Sandbox Code Playgroud)
我需要显示每个联系人的所有电话号码的联系人列表.
var contactList = await ContactBLL.GetContactList();
IEnumerable<ContactViewModel> contacts = contactList.ToList().ConvertAll(
async c => new ContactViewModel
{
phones = (await ContactBLL.GetContactPhones(c.ContactID)).ToList(),
firstName = c.FirstName,
lastName = c.LastName
});
Run Code Online (Sandbox Code Playgroud)
我目前得到编译错误说"不能隐式转换类型'System.Threading.Tasks.Task.List到IEnumerable ...."然而,没有async电话获取电话列表,它将工作(当然没有电话).我可以将async功能更改GetContactPhones()为同步功能,它将按预期工作.我的问题是有一种方法可以使上面的代码与async调用一起工作吗?
谢谢.