工具
- Visual Studio 2015
- ELinq ORM
- Oracle
流程概述
- 建立ASP.NET WebApi應(yīng)用程序
- 添加Elinq包、Swashbuckle包、添加引用System.Data.OracleClient
- 修改SwaggerConfig.cs配置文件,并生成XML文檔文件,注意要與配置文件中的地址要一致
- 在文件夾Controllers中添加Web API控制器類(v2.1)
- 添加實體層,建立映射關(guān)系
- 根據(jù)具體輸出需求,添加輸出模型,同時建立一個通用的輸出格式,和輸出狀態(tài)信息判斷。
- 添加日志記錄配置
- 添加業(yè)務(wù)處理層,寫具體的業(yè)務(wù)代碼
- 在建好的控制器中調(diào)用業(yè)務(wù)處理層中寫好的方法以及加載的項目
- 全局異常捕捉設(shè)置
具體問題
- 接口編寫的效率問題
目前寫的接口中,代碼的相似性較高,每個方法用的語句大同小異,在熟悉了使用流程后,下一步就是要更快速地編寫一個又一個的新接口。 - 在使用ELinq多表查詢時映射關(guān)系問題
在注冊兩張表的映射關(guān)系時,得弄明白一對多,多對一,一對一的關(guān)系類型。
例如:一個簡化后的產(chǎn)值排序的問題,目標(biāo)表(產(chǎn)值列:100萬以下,100萬以上),字典表中存儲著不同產(chǎn)值刻度排序的值(SORTID),并且字典表中有3套不同的產(chǎn)值刻度排序體系,“100萬以上”在三套排序體系中都有。
目標(biāo)表對字典表:一對多
字典表對目標(biāo)表:多對一
然而在實際運用中,在目標(biāo)表處注冊一對多的映射關(guān)系,最后查詢失??;在字典表處注冊多對一的關(guān)系時,最后查詢成功。
可能原因:一對多時,在業(yè)務(wù)代碼處理的地方,ELinq語句轉(zhuǎn)化為SQL語句時,沒有加上where條件子句,導(dǎo)致報單個查詢返回多個行的異常;多對一解決了這個問題。
引申:如果目標(biāo)表中,“100萬以上”也出現(xiàn)多次,目標(biāo)表和字典表變成多對多的關(guān)系,但ELinq暫不支持多對多的映射關(guān)系,可能直接在后臺寫SQL語句,然后調(diào)用會更方便一點,待驗證。
- SVN代碼管理問題
對代碼的協(xié)同,還有待改進(jìn),對不用提交到服務(wù)器上的一些文件還不是很清楚;在代碼提交的時候,并沒有寫版本日志信息,這是一個潛在隱患
總結(jié)
- 注釋很重要,寫好注釋,不僅方便日后他人維護(hù),也是方便自己的改動和查看。沒有注釋,自己一周后再看自己的代碼都煩。
- 協(xié)作和溝通,和項目其它人員多溝通,尤其是作為新人,在對整個流程都不清楚的情況下,缺乏溝通容易導(dǎo)致寫出來的東西不能直接用,從而導(dǎo)致大量的改動。目前,自己正處于這種缺乏和項目成員溝通的情況,連項目中的人員一大半都不認(rèn)識。2018的頭三個月,爭取認(rèn)識80%的三組同事,首先把前端的四個同事認(rèn)熟,便于工作地開展。
- 多問,多向指導(dǎo)人請教,指導(dǎo)人經(jīng)驗豐富,對問題的認(rèn)識也更深刻,意見的含金量更高。
- 多點勇氣,少些畏難情緒,既然做了開發(fā)行業(yè),那就必然會被各種技術(shù)壁壘和BUG圍繞。有的技術(shù)確實很難,可能要耗費極大的精力才能解決,但是就這么幾個月接觸的入門級技術(shù)的感受來說,在現(xiàn)在來看,并沒有很難,甚至很基礎(chǔ)。不過,在當(dāng)時學(xué)習(xí)的時候,總是感到很絕望,經(jīng)常性焦慮不堪,幾乎覺得自己難以勝任程序員這份工作,間歇性地自我否定,有大部分覺得難的問題其實是自己嚇自己,覺得不可逾越的障礙未必真的就很難,有時候事后一反思,不過紙老虎而已。很明顯,自己缺乏直面困難的勇氣,缺少積極樂觀的情緒,缺少自信力,尚未找到工作中的樂趣從而轉(zhuǎn)化為積極陽光的動力。在接下來的日子,自己得學(xué)會面對不斷爬坡的節(jié)奏,用積極的態(tài)度對待工作和生活,不要幻想著逃避能解決問題,正面剛它,自己解決不了就問百度、同事、師傅,直到解決它!新的一年,勇氣多一點,畏懼少一分,心懷希望,砥礪前行。