Vì một lý do nào đó, Microsoft quyết định không hỗ trợ concat đơn giản trong EF5.Cách tốt nhất để ghép chuỗi và số trong máy chủ SQL bằng Entity Framework 5?
ví dụ:
Select(foo => new
{
someProp = "hello" + foo.id + "/" + foo.bar
}
Điều này sẽ ném nếu foo.id hoặc foo.bar là số.
Cách giải quyết tôi đã tìm thấy là dường như mảnh khá mã này:
Select(foo => new
{
someProp = "hello" +
SqlFunctions.StringConvert((double?)foo.id).Trim() +
"/" +
SqlFunctions.StringConvert((double?)foo.bar).Trim()
}
nào hoạt động tốt, nhưng chỉ là khủng khiếp để xem xét.
Vì vậy, có cách nào tốt để thực hiện điều này bằng mã sạch hơn không? Tôi KHÔNG quan tâm đến phía khách hàng này, vì vậy không, vui lòng trả lời .AsEnumerable().
Tôi rất bối rối là tại sao điều đó sẽ không làm việc ... bạn có chắc 'foo' không phải là' null'? –
Nó không hoạt động vì EF không thể dịch integer.ToString() thành SQL. –
Tôi không nghĩ rằng đó là bất cứ điều gì để làm với EF ở giai đoạn này như xa như nó liên quan đến tất cả nó được nhìn thấy là một đối tượng với một chuỗi 'someProp'. –