Return anonymous type results?

后端 未结 16 1152
梦毁少年i
梦毁少年i 2020-11-22 03:01

Using the simple example below, what is the best way to return results from multiple tables using Linq to SQL?

Say I have two tables:

Dogs:   Name, A         


        
16条回答
  •  误落风尘
    2020-11-22 03:41

    In C# 7 you can now use tuples!... which eliminates the need to create a class just to return the result.

    Here is a sample code:

    public List<(string Name, string BreedName)> GetDogsWithBreedNames()
    {
        var db = new DogDataContext(ConnectString);
        var result = from d in db.Dogs
                 join b in db.Breeds on d.BreedId equals b.BreedId
                 select new
                 {
                    Name = d.Name,
                    BreedName = b.BreedName
                 }.ToList();
    
        return result.Select(r => (r.Name, r.BreedName)).ToList();
    }
    

    You might need to install System.ValueTuple nuget package though.

提交回复
热议问题