Tôi muốn chèn vào bảng của tôi một cột có tên 'S' sẽ nhận được một số giá trị chuỗi dựa trên giá trị mà nó nhận được từ cột bảng.Gọi phương thức bên trong truy vấn LINQ
Ví dụ: for each ID (a.z)
Tôi muốn nhận giá trị chuỗi của nó được lưu trữ trong một bảng khác. Giá trị chuỗi được trả về từ một phương thức khác nhận được thông qua truy vấn LINQ.
- Có thể gọi phương thức từ LINQ không?
- Tôi có nên làm mọi thứ trong cùng một truy vấn không?
Đây là cấu trúc của thông tin mà tôi cần phải nhận được:
a.z is the ID in the first square in table #1, from this ID I get another id in table #2, and from that I can get my string value that I need to display under column 'S'.
var q = (from a in v.A join b in v.B
on a.i equals b.j
where a.k == "aaa" && a.h == 0
select new {T = a.i, S = someMethod(a.z).ToString()})
return q;
Dòng S = someMethod(a.z).ToString()
gây ra lỗi sau:
Unable to cast object of type 'System.Data.Linq.SqlClient.SqlColumn' to type 'System.Data.Linq.SqlClient.SqlMethodCall'.
câu hỏi của bạn là khá rõ ràng (với tôi anyway) - những gì bảng được bạn đề cập đến ? Đây có phải là LINQ to Entities hoặc LINQ to Objects? Tên bảng và thuộc tính có ý nghĩa hơn cũng có thể hữu ích. – BrokenGlass
Xin lỗi, tôi mới làm quen với LINQ, ý bạn là gì với LINQ to Entities hoặc Linq to Objects? – user990635
Thông báo lỗi của bạn cho biết rằng bạn sử dụng LINQ to SQL - đó là cách bạn truy nhập cơ sở dữ liệu – BrokenGlass