据我了解,当在 UI 线程上调用的方法上使用 async 和 wait 时,可以释放 UI 线程来执行其他工作,同时等待某些 IO 完成。如果我在线程池线程调用的方法上使用异步等待,那么当 IO 完成时该线程池线程会发生什么?是不是又回到池子里了?当 IO 完成时,哪个线程完成后一种情况下的方法?
此代码产生错误:
void GetLog()
{
List<CAR_STATUS_LOGS> logs = null;
using (TESTEntities ctx = new TESTEntities())
{
logs =
ctx.CAR_STATUS_LOGS
.Where(a => SqlFunctions.DatePart("DAY", a.TIMEMARK) == 1)
.ToList();
}
}
Run Code Online (Sandbox Code Playgroud)
错误是这样的:
LINQ to Entities无法识别方法'System.Nullable`1 [System.Int32] DatePart(System.String,System.Nullable`1 [System.DateTime])'方法,并且此方法无法转换为商店表达式.
我看不出我做错了什么SqlFunctions.DatePart.TIMEMARK列是Sqlserver DateTime类型.
有任何想法吗?
表格列中的默认值是多少?根据http://technet.microsoft.com/en-us/library/ms187872.aspx
您可以使用SQL Server Management Studio或Transact-SQL指定将在SQL Server 2012的列中输入的默认值.如果未指定默认值且用户将列留空,则:
- 如果将选项设置为允许空值,则将在列中插入NULL.
- 如果未将选项设置为允许空值,则该列将保持空白,但在为列提供值之前,用户将无法保存该行.
我不明白!如果您不允许列上的空值,它肯定会在该列中插入默认值(如果用户未提供).那为什么不呢?