EF工作中踩過的坑


1、EF同一個linq里邊不支持兩個或兩個以上不同dbcontext的使用,必須拆解開才能使用;

ef也不支持自定義集合和dbcontext屬性的混合使用.

2、如果要用用統一域賬號連接database,必須在IIS Application pool中設置該域賬號,如下圖.

3、如果dbcontex中B表需要使用A表保存完之后返回來的ID,那也很簡單,當dbcontex.a執行完save之后會自動把數據庫插入成功的記錄帶到dbcontext.a上面

也就能取到存入的數據庫之后的新紀錄,也就會取到新值工B表使用了.

4、如果相對序列化之后的返回結果進行格式設置可以采用以下方式:

public static HttpResponseMessage Create(object operationResult,object data=null, string message=null)
{
PageReturnResult pageResult = new PageReturnResult(operationResult, data, message);
//JsonFormatter.SerializerSettings.Re‌​ferenceLoopHandling = ReferenceLoopHandling.Ignore;
string returnString=JsonConvert.SerializeObject(pageResult,Formatting.Indented,
new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
return new HttpResponseMessage { Content = new StringContent(returnString, Encoding.GetEncoding("UTF-8"), "application/json") };
}

5、EF中存在ModelState.IsValid可以判斷傳過來的實體是否有效,比如說有個實體UserInfo,其中有個屬性UserID是Guid類型,當客戶端傳送該值為字符串類型時,傳過來的UserInfo狀態就是無效的.在聲明一下,實體中的GUID字符串類型和數據庫的uniqueidentifier做映射保存,必須是GUID類型和uniqueidentifier做配對使用,雖然GUID實際上是個字符串,但是字段類型也不能定義成字符串類型,否則做保存時不能跟數據庫的uniqueidentifier對應上.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM