Được cung cấp mã sauLàm thế nào để định dạng một chuỗi trong một biểu thức LINQ?
IQueryable<string> customers =
from Customers in db.Customers
where Customers.CstCompanyName.Contains(prefixText) && Customers.CstInactive == false
select Customers.CstCompanyName + " (Phone: " + Convert.ToInt64(Customers.CstPhone).ToString("###-###-#### ####") + ")";
Đây là cuộc gọi đến khung pháp nhân của tôi. Tôi đang trả lại một số điện thoại từ cơ sở dữ liệu. Tôi đang cố định dạng nó trong chuỗi định dạng đã cho. Thật không may, khi tôi chạy điều này, tôi nhận được lỗi sau:
LINQ to Entities does not recognize the method 'System.String ToString(System.String)' method, and this method cannot be translated into a store expression.
Vì vậy, câu hỏi của tôi là làm cách nào để trả lại đối tượng cơ sở dữ liệu này dưới dạng chuỗi được định dạng?
Cảm ơn!
Bạn có cần kết quả là một 'IQueryable' không? Bạn không thể chỉ nhận được một 'IEnumerable' bằng cách sử dụng 'var clients = ...'? –
Không. Có thỏa thuận cơ sở dữ liệu với dữ liệu; có mã trình bày giao dịch với bản trình bày. – AakashM
Cuối cùng, nó đang được trả về như một chuỗi [], vì vậy bất cứ điều gì sẽ thực hiện điều này. Những gì tôi hiện đang làm là string [] cst = customers.ToArray(); Vì vậy, tôi không hoàn toàn chắc chắn nếu nó cần phải được IQueryable. – Kevin