public static void Method() { IQuery <User> q = context.Query <User>(); var space = new char[] { ' ' }; DateTime startTime = DateTime.Now; DateTime endTime = DateTime.Now.AddDays(1); q.Select(a => new { Id = a.Id, String_Length = (int?)a.Name.Length, //LEN([Users].[Name]) Substring = a.Name.Substring(0), //SUBSTRING([Users].[Name],0 + 1,LEN([Users].[Name])) Substring1 = a.Name.Substring(1), //SUBSTRING([Users].[Name],1 + 1,LEN([Users].[Name])) Substring1_2 = a.Name.Substring(1, 2), //SUBSTRING([Users].[Name],1 + 1,2) ToLower = a.Name.ToLower(), //LOWER([Users].[Name]) ToUpper = a.Name.ToUpper(), //UPPER([Users].[Name]) IsNullOrEmpty = string.IsNullOrEmpty(a.Name), //too long Contains = (bool?)a.Name.Contains("s"), // Trim = a.Name.Trim(), //RTRIM(LTRIM([Users].[Name])) TrimStart = a.Name.TrimStart(space), //LTRIM([Users].[Name]) TrimEnd = a.Name.TrimEnd(space), //RTRIM([Users].[Name]) StartsWith = (bool?)a.Name.StartsWith("s"), // EndsWith = (bool?)a.Name.EndsWith("s"), // DiffYears = DbFunctions.DiffYears(startTime, endTime), //DATEDIFF(YEAR,@P_0,@P_1) DiffMonths = DbFunctions.DiffMonths(startTime, endTime), //DATEDIFF(MONTH,@P_0,@P_1) DiffDays = DbFunctions.DiffDays(startTime, endTime), //DATEDIFF(DAY,@P_0,@P_1) DiffHours = DbFunctions.DiffHours(startTime, endTime), //DATEDIFF(HOUR,@P_0,@P_1) DiffMinutes = DbFunctions.DiffMinutes(startTime, endTime), //DATEDIFF(MINUTE,@P_0,@P_1) DiffSeconds = DbFunctions.DiffSeconds(startTime, endTime), //DATEDIFF(SECOND,@P_0,@P_1) DiffMilliseconds = DbFunctions.DiffMilliseconds(startTime, endTime), //DATEDIFF(MILLISECOND,@P_0,@P_1) //DiffMicroseconds = DbFunctions.DiffMicroseconds(startTime, endTime),//DATEDIFF(MICROSECOND,@P_0,@P_1) Exception /* No longer support method 'DateTime.Subtract(DateTime d)', instead of using 'DbFunctions.DiffXX' */ //SubtractTotalDays = endTime.Subtract(startTime).TotalDays,//CAST(DATEDIFF(DAY,@P_0,@P_1) //SubtractTotalHours = endTime.Subtract(startTime).TotalHours,//CAST(DATEDIFF(HOUR,@P_0,@P_1) //SubtractTotalMinutes = endTime.Subtract(startTime).TotalMinutes,//CAST(DATEDIFF(MINUTE,@P_0,@P_1) //SubtractTotalSeconds = endTime.Subtract(startTime).TotalSeconds,//CAST(DATEDIFF(SECOND,@P_0,@P_1) //SubtractTotalMilliseconds = endTime.Subtract(startTime).TotalMilliseconds,//CAST(DATEDIFF(MILLISECOND,@P_0,@P_1) AddYears = startTime.AddYears(1), //DATEADD(YEAR,1,@P_0) AddMonths = startTime.AddMonths(1), //DATEADD(MONTH,1,@P_0) AddDays = startTime.AddDays(1), //DATEADD(DAY,1,@P_0) AddHours = startTime.AddHours(1), //DATEADD(HOUR,1,@P_0) AddMinutes = startTime.AddMinutes(2), //DATEADD(MINUTE,2,@P_0) AddSeconds = startTime.AddSeconds(120), //DATEADD(SECOND,120,@P_0) AddMilliseconds = startTime.AddMilliseconds(20000), //DATEADD(MILLISECOND,20000,@P_0) Now = DateTime.Now, //GETDATE() UtcNow = DateTime.UtcNow, //GETUTCDATE() Today = DateTime.Today, //CAST(GETDATE() AS DATE) Date = DateTime.Now.Date, //CAST(GETDATE() AS DATE) Year = DateTime.Now.Year, //DATEPART(YEAR,GETDATE()) Month = DateTime.Now.Month, //DATEPART(MONTH,GETDATE()) Day = DateTime.Now.Day, //DATEPART(DAY,GETDATE()) Hour = DateTime.Now.Hour, //DATEPART(HOUR,GETDATE()) Minute = DateTime.Now.Minute, //DATEPART(MINUTE,GETDATE()) Second = DateTime.Now.Second, //DATEPART(SECOND,GETDATE()) Millisecond = DateTime.Now.Millisecond, //DATEPART(MILLISECOND,GETDATE()) DayOfWeek = DateTime.Now.DayOfWeek, //(DATEPART(WEEKDAY,GETDATE()) - 1) Int_Parse = int.Parse("1"), //CAST(N'1' AS INT) Int16_Parse = Int16.Parse("11"), //CAST(N'11' AS SMALLINT) Long_Parse = long.Parse("2"), //CAST(N'2' AS BIGINT) Double_Parse = double.Parse("3"), //CAST(N'3' AS FLOAT) Float_Parse = float.Parse("4"), //CAST(N'4' AS REAL) //Decimal_Parse = decimal.Parse("5"),//CAST(N'5' AS DECIMAL) ps: 'Decimal.Parse(string s)' is not supported now,because we don't know the precision and scale information. Guid_Parse = Guid.Parse("D544BC4C-739E-4CD3-A3D3-7BF803FCE179"), //CAST(N'D544BC4C-739E-4CD3-A3D3-7BF803FCE179' AS UNIQUEIDENTIFIER) AS [Guid_Parse] Bool_Parse = bool.Parse("1"), //CASE WHEN CAST(N'1' AS BIT) = CAST(1 AS BIT) THEN CAST(1 AS BIT) WHEN NOT (CAST(N'1' AS BIT) = CAST(1 AS BIT)) THEN CAST(0 AS BIT) ELSE NULL END AS [Bool_Parse] DateTime_Parse = DateTime.Parse("1992-1-16"), //CAST(N'1992-1-16' AS DATETIME) AS [DateTime_Parse] B = a.Age == null ? false : a.Age > 1, }).ToList(); ConsoleHelper.WriteLineAndReadKey(); }
public static void MethodTest() { MsSqlContext context = new MsSqlContext(DbHelper.ConnectionString); var q = context.Query <User>(); var space = new char[] { ' ' }; DateTime startTime = DateTime.Now; DateTime endTime = DateTime.Now.AddDays(1); var xxxx = q.Select(a => new { Id = a.Id, String_Length = a.Name.Length, Substring = a.Name.Substring(0), Substring1 = a.Name.Substring(1), Substring1_2 = a.Name.Substring(1, 2), ToLower = a.Name.ToLower(), ToUpper = a.Name.ToUpper(), IsNullOrEmpty = string.IsNullOrEmpty(a.Name), Contains = (bool?)a.Name.Contains("s"), Trim = a.Name.Trim(), TrimStart = a.Name.TrimStart(space), TrimEnd = a.Name.TrimEnd(space), StartsWith = (bool?)a.Name.StartsWith("s"), EndsWith = (bool?)a.Name.EndsWith("s"), DiffYears = DbFunctions.DiffYears(startTime, endTime), DiffMonths = DbFunctions.DiffMonths(startTime, endTime), DiffDays = DbFunctions.DiffDays(startTime, endTime), DiffHours = DbFunctions.DiffHours(startTime, endTime), DiffMinutes = DbFunctions.DiffMinutes(startTime, endTime), DiffSeconds = DbFunctions.DiffSeconds(startTime, endTime), DiffMilliseconds = DbFunctions.DiffMilliseconds(startTime, endTime), //DiffMicroseconds = DbFunctions.DiffMicroseconds(startTime, endTime),//Exception /* No longer support method 'DateTime.Subtract(DateTime d)', instead of using 'DbFunctions.DiffXX' */ //SubtractTotalDays = endTime.Subtract(startTime).TotalDays, //SubtractTotalHours = endTime.Subtract(startTime).TotalHours, //SubtractTotalMinutes = endTime.Subtract(startTime).TotalMinutes, //SubtractTotalSeconds = endTime.Subtract(startTime).TotalSeconds, //SubtractTotalMilliseconds = endTime.Subtract(startTime).TotalMilliseconds, AddYears = startTime.AddYears(1), //DATEADD(YEAR,1,@P_0) AddMonths = startTime.AddMonths(1), //DATEADD(MONTH,1,@P_0) AddDays = startTime.AddDays(1), //DATEADD(DAY,1,@P_0) AddHours = startTime.AddHours(1), //DATEADD(HOUR,1,@P_0) AddMinutes = startTime.AddMinutes(2), //DATEADD(MINUTE,2,@P_0) AddSeconds = startTime.AddSeconds(120), //DATEADD(SECOND,120,@P_0) AddMilliseconds = startTime.AddMilliseconds(20000), //DATEADD(MILLISECOND,20000,@P_0) Now = DateTime.Now, UtcNow = DateTime.UtcNow, Today = DateTime.Today, Date = DateTime.Now.Date, Year = DateTime.Now.Year, Month = DateTime.Now.Month, Day = DateTime.Now.Day, Hour = DateTime.Now.Hour, Minute = DateTime.Now.Minute, Second = DateTime.Now.Second, Millisecond = DateTime.Now.Millisecond, DayOfWeek = DateTime.Now.DayOfWeek, Int_Parse = int.Parse("1"), Int16_Parse = Int16.Parse("11"), Long_Parse = long.Parse("2"), Double_Parse = double.Parse("3"), Float_Parse = float.Parse("4"), //Decimal_Parse = decimal.Parse("5"),//'Decimal.Parse(string s)' is not supported now,because we don't know the precision and scale information. Guid_Parse = Guid.Parse("D544BC4C-739E-4CD3-A3D3-7BF803FCE179"), Bool_Parse = bool.Parse("1"), DateTime_Parse = DateTime.Parse("2014-1-1"), B = a.Age == null ? false : a.Age > 1, }).ToList(); ConsoleHelper.WriteLineAndReadKey(); }