3
WCF 웹 서비스를 개발 중이며 ADO.Net 엔터티를 사용하여 데이터베이스에 액세스합니다.Loop a System.Data.Objects.DataClasses.EntityCollection
나는 물체를 계약 일부 데이터베이스 객체를 변환하려면이 방법을 사용하십시오
여기public static List<BlockContract> FormBlocks(int formId)
{
List<BlockContract> blocksList = null;
using (var vAdmEntities = new ADMDatabase.ADMEntities())
{
var blockEntities = from f in vAdmEntities.Form
where f.formId == formId
select f.Block;
if (blockEntities != null)
{
blocksList = new List<BlockContract>(blockEntities.Count());
foreach (ADMDatabase.Block b in blockEntities)
{
BlockContract blockContract = new BlockContract
{
blockId = b.blockId,
name = b.name,
orderInForm = b.orderInForm
};
blocksList.Add(blockContract);
}
}
}
return blocksList;
}
, foreach (ADMDatabase.Block b in blockEntities)
, 나는 오류 얻을 :
Cannot convert type 'System.Data.Objects.DataClasses.EntityCollection<ADMDatabase.Block>' to 'ADMDatabase.Block'
가 어떻게이 오류를 해결할 수 있습니까?
당신은 blockEntities.Select (b => 새로운 BlockContract {})를 사용할 수 있음을 알고 있습니다 .ToList()를 사용하여 목록을 만듭니다. –
감사합니다. 나중에 다시 시도해보고 알려 드리겠습니다. – VansFannel