Tôi muốn chọn 2 phần tử từ bảng cơ sở dữ liệu của mình sử dụng truy vấn LINQ
và tôi thấy ví dụ sử dụng UNION
Tôi không có nhiều kinh nghiệm nhưng tôi nghĩ rằng có thể đây là những gì tôi cần nhận được một lỗi mà tôi không thể sửa chữa và tôi không chắc chắn nếu nó có thể sửa chữa anyway. Vì vậy, đây là câu hỏi của tôi:Truy vấn LINQ UNION để chọn hai phần tử
IList<String> materialTypes = ((from tom in context.MaterialTypes
where tom.IsActive == true
select tom.Name)
.Union(from tom in context.MaterialTypes
where tom.IsActive == true
select (tom.ID))).ToList();
nào như nó có vẻ đang phàn nàn về cố gắng sử dụng UNION
trên IQueryable
với IEnumarebale
. Tôi cố gắng để khắc phục điều đó bằng cách thêm ToString()
như thế này - (tom.ID).ToString
dẫn đến làm sạch gạch dưới lỗi trong Visual-Studio-2010
nhưng trong thời gian chạy tôi nhận được:
{"LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression."}
Ty, Leron.
Tại sao bạn không chọn 'new {tom.Name, tom.ID}' thay vì sử dụng 'Union'? –
Tôi muốn sử dụng dữ liệu như 'DataSource' của tôi nếu tôi thử với nó cho một lỗi mà không thể chuyển đổi từ kiểu vô danh thành chuỗi. Nếu tôi thêm' ToString() 'ngay trước' .ToList() ', tôi nhận được một chuyển đổi khác lỗi - lần này từ 'char' thành' Chuỗi' và 'Liên minh' là giải pháp mà tôi đã thấy đối với các loại tình huống này. Có cách nào khác không? – Leron