Эй, поэтому я довольно новичок в C#
, так как мне никогда не приходилось использовать его перед началом этой работы. Я пытаюсь вернуть набор результатов из запроса linq
. Однако проблема, с которой я сталкиваюсь, это тип анонимный. Я попытался создать пользовательский тип для так что я могу использовать его, но я все еще получаю ошибку:Не удается вернуть результат linq из запроса
Severity Code Description Project File Line Suppression State
Error CS0266 Cannot implicitly convert type 'System.Linq.IQueryable<<anonymous type:
SCSEntities.SCS_ItemCategory Category, SCSEntities.SCS_Item Item>>' to
'System.Collections.Generic.List<SchoolCash.DataFactory.ItemFactory.ExportItemTable>'.
An explicit conversion exists (are you missing a cast?) SchoolCash.DataFactory
C:\seamysCode\SCA\4.12\Common\SchoolCash.DataFactory\ItemFactory.cs 551 Active
Так что я интересно, я пропускаю что-то здесь, потому что материал, который я посмотрел на говорит, чтобы создать настраиваемый тип с помощью get и setter по мере необходимости. Тогда я смогу вернуть его. Мне было интересно, может ли кто-нибудь помочь мне в этом, потому что мои ограниченные глаза видят, что я делаю это правильно. Я ценю помощь заранее.
public class ExportItemTable
{
public SCS_ItemCategory Category { get; set; }
public Item Item { get; set; }
}
public List<ExportItemTable> GetItemExportTable()
{
var result =
from item in Context.SCS_Items
join category in Context.SCS_ItemCategories
on item.ItemPk equals category.ItemFk
into temp
from category in temp.DefaultIfEmpty()
select new
{
Category = category,
Item = item
};
return result.ToList();;
}
ошибка говорит вам, в чем проблема .. и вы должны вернуть запрос к типу, который он ожидает, который является списком, поэтому вы просто используете методы расширения, предоставленные вам в Linq, и используйте '.ToList () ', если тип return ожидает массив. Затем тот же' .ToArray() 'есть множество бесплатных обучающих программ, а также MSDN вы можете загрузить целую тонну учебников, в которых есть исходный код, где вы можете поиграть и узнать в то же время –
MethodMan