How can I extract a list of Tuple from a specific table with Entity Framework / LINQ?

前端 未结 2 1802
闹比i
闹比i 2020-12-19 01:47

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

        
相关标签:
2条回答
  • 2020-12-19 02:12

    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.

    0 讨论(0)
  • 2020-12-19 02:28

    You can create a list from db.Resource and use LINQ to Collections to erase this limitation:

    var list = db.Resource.ToList().Select(res => Tuple.Create(res.Resource_ID, res.Name));
    

    The Tuple class does have some constructors (up to 8 items), but the Create() helper method makes the creation more straightforward.

    0 讨论(0)
提交回复
热议问题