|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是MVC):表示层(主要使用html写的,很简单)、业务逻辑层(主要就是应用服务器的)。最后就是数据层(其实就是学习数据库)在EntityFramework天生的SQL语句中,你是不是寄望过CAST的倩影:- (0=CAST([Extent1].[LockFlag]ASint))
复制代码 她不是那末有目共睹,她不是那末让人一眼心动,可是她值得寄望,由于她不同凡响...
之前见过量次,明天出格寄望,并放在了博问中,以吸引更多人的注重,同时也加深本人的注重。
底本希冀的SQL语句是:如今多了个CAST。多了个CAST有甚么干系呢?它会使得如许的SQL查询不会利用创建在LockFlag上的索引(因为是smallint列,多半情形下不必索引影响也不年夜)。
明天,在猎奇心的使令下,我想晓得为何会呈现这个成绩?在博问中提出成绩以后,终究找到了谜底。
(感悟:将成绩经由过程笔墨明晰地表达出来,成绩就办理了一半)
LockFlag在数据库界说的范例是smallint,以是在界说实体类时,天经地义地用short(或int16)。
可是EntityFramework的设法却不同凡响,它只需碰到short(或int16)范例,就会天生CAST转换为int举行查询。
办理办法:
将short(或int16)范例改成int范例。
该办理办法存在成绩,在where查询中切合请求,但在映照时呈现毛病:System.InvalidOperationException:TheLockFlagpropertyonArticlecouldnotbesettoaInt16value.Youmustsetthispropertytoanon-nullvalueoftypeInt32. 前天傍晚我发表了《net网页编程的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的。 |
|