我會鏈接將日期時間列轉換爲字符串。 這應該發生在數據庫實例中,如果我們使用System.Data.Objects.SqlClient.SqlFunctions 將追加相同的查詢並在數據庫中執行。Linq Sqlfunctions
在所有提示的帖子中,首先需要查詢然後我們需要選擇。在select中,我們可以使用.ToString()。而不是首先獲取記錄,我想在獲取時進行轉換。
我的要求。我有enity員工。
public class EmpEntities
{
public string Id { get; set; }
public DateTime CreatedDate { get; set; }
}
假設我的數據 EMP-19,2012-01-01 11:33:454 EMP-17,1999:06:06 12:44:898個
我的搜索標準是20,在所有領域的任何員工有20(含) 這我需要篩選屬性包含需要檢查。要做到這一點,我需要將我創建的日期列轉換爲linq中的字符串。
var query=
(from ee in entities.Employee
where ee.CreatedDate.Value.ToString().Contains("20")
select ee).ToList();
如果我們使用上面的一個,它會通過錯誤。
如果我們使用下面的工作正常。
var query=
(from emp in entities.Employee
select emp)
.AsEnumerable()
.Where(x=>x.CreatedDate.Value.ToString().Contains("20"));
我需要檢查包含實體的日期時間屬性。有沒有辦法將datetime屬性轉換爲字符串,並檢查linq中的包含。
我需要將我的datetime屬性轉換爲字符串,然後我需要使用包含。
所以在這裏我的問題是我想在數據庫級別 對數據進行篩選,例如像這樣 我準備爲僱員ID
var query= (from emp in entities.Employee.Where(x => System.Data.Objects.SqlClient.SqlFunctions.StringConvert((decimal?)x.Empid).Contains("20"))
select emp).ToList();
這相當於在SQL查詢。
SELECT 1 AS [C1], [Extent1].[name] AS [name] FROM [dbo].[Employee] AS [Extent1]
WHERE STR(CAST([Extent1].[EmpId] AS decimal(19,0))) LIKE N'%5%'
在SQL執行它被轉換整型到字符串並擷取該記錄執行的條件。
同樣我想過濾創建日期與empid。但我不能將日期時間列轉換爲字符串,以便我可以使用包含。
有沒有什麼辦法可以實現上面那個我爲整型數據類型所做的。
我看不出標題或標籤如何匹配問題?它也沒有描述性,看起來像你想告訴的東西,而不是問它。 – TheGeekZn
代碼更新請檢查一次。 – user1374303
在你的整個問題中,我能看到你問的唯一的事情就是將'DateTime'轉換爲'string',這樣你就可以看到它是否包含任何東西。其中'string date = DateTime.ToString()'會有幫助。然後'if(date.contains ......)'。 – TheGeekZn