public IQueryable<Dog> GetDogs() { var db = new DogDataContext(ConnectString); var result = from d in db.Dogs join b in db.Breeds on d.BreedId equals b.BreedId select d; return result; }
Ini kerana LINQ ke SQL mengharapkan untuk mengembalikan jenis anjing, tetapi pertanyaan menghasilkan jenis tanpa nama.
public IQueryable<Dog> 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 }; return result; }
Gunakan kelas tersuai
Kaedah ini mencipta kelas dogwithbreed yang mengandungi sifat anjing dan nama baka. Kemudian, tanya contoh kelas tersuai ini, yang boleh digunakan untuk mengakses data yang diperlukan.
public class DogWithBreed { public Dog Dog { get; set; } public string BreedName { get; set; } } public IQueryable<DogWithBreed> 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 DogWithBreed() { Dog = d, BreedName = b.BreedName }; return result; }
Atas ialah kandungan terperinci Bagaimana untuk mengembalikan data dari LINQ ke SQL tanpa kesilapan kompilasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!