01/10/2018, 08:24
[Hỏi]Lấy dữ liệu trong 1 bảng SQL Server qua Linq to SQL
Chào các bạn !
Mình đang thao tác với SQL Server qua Linq C# nhưng hiện tại không lấy được dữ liệu trong 1 bảng.
Mình lấy theo cách như sau:
var data = from c in MyDatabase.TableError select c; // -< chỗ này trả về System.Data.Linq.DataQuery
Nhưng từ System.Data.Linq.DataQuery mình không thể cast sang các dạng list,array, IEnumerable… để sử dung đươc.
Đây là 1 đoạn duyệt thử nhưng không thành công. Báo lỗi special cast invalid ở “in”.
foreach(TableError e in data){
//.......
}
Bạn nào có kinh nghiệm phần này xin chỉ giáo giúp.
@Huy_Hoang_Pham
Bài liên quan
Dùng data.ToList() nhé. Ở đây ép kiểu ko được đâu :D.
Còn đoạn duyệt thì để var e, sau đó chạy debugger xem kiểu dữ liệu của e là gì nhé.
Vẫn phải tự code tay để cast thôi
Nếu chưa có .ToList thì nó trả về System.Data.Linq.DataQuery. Nhưng nếu dùng thêm .ToList để cast nó văng ngoại lệ ngay bạn ơi .
Câu lệnh của bạn hoàn toàn giống với của mình. Nhưng của mình đưa exeption không thể cast
Exception gì bạn có thể up thông báo lên cho mình xem được không
Nếu có Exception thì mình nghĩ là:
Bạn chưa kết nối được đến Database
Kiểu dữ liệu trong Database vs C# không khớp.
Bạn thử kiểm tra lại xem
Giờ mình đã về nên mai mới up ảnh được. Nhưng nó thông báo như sau :
Database mình đã kết nối và Insert dữ liệu vào đó OK. Database được tạo bởi chính Context.CreatDatabase();
@Huy_Hoang_Pham, @huyenthoai :
Đây là ảnh chụp lỗi không thể cast được nhé !
Bao gồm ảnh chụp lỗi, ảnh chụp design bảng do linq tạo ra, dữ lieu trong bang do linq đưa vào.
Vấn đề của mình đã được giải quyết.
Có một vấn đề này hơi ngoài luồng nhờ các bạn @Huy_Hoang_Pham, @huyenthoai chỉ giáo.
Mình có 1 class của Linq to Sql gọi là BASE đi.
Mình tạo 1 class khác kế thừa từ base để them một số thong tin nhưng làm sao để đồng bộ với SQL qua thằng kế thừa được nhỉ >
Tạo class mới kế thừa chi vậy??? Sao không sửa dưới Database rồi connect lại
Vì dưới client mình cần thêm một số thuộc tính khác để dễ quản lý và không muốn đồng bộ dữ lieu của thuộc tính này vào database.