I need to extract a list of couple 'ID'/'Name' from a large table in C# .NET with Entity Framework.
I try this request :
List<Tuple<int, string>> list = (from res in db.Resource
select new Tuple<int, string>(res.Resource_ID, res.Name)).ToList();
But unfortunately I've got this error :
Only parameterless constructors and initializers are supported in LINQ to Entities.
I don't undestand how can I extract this list of tuple with this framework and I feel a bit lost with this error. Can you help me to understand and resolve my problem ?
Best regards,
Alex
You can do it with a middle-step by selecting an anonymous type:
db.Resource.Select(x => new { x.Resource_ID, x.Name }).AsEnumerable().Select(x => Tuple.Create(x.Resource_ID, x.Name)).ToList();
Creating a tuple is not a supported operation in Linq To Entities, so you have to select an anonymous type, which would be an equivalent to:
SELECT [Resource].[Resource_ID], [Resource].[Name]
then move to LINQ to Objects by AsEnumerable
and get your tuple.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With