簡體   English   中英

實體框架重復記錄

[英]Entity framework repeating records

我正在一個實體框架項目中,我已經在其中創建了一個表的實體類

我要返回其記錄,下面是我檢索記錄的方法

 public UserResource GetData(long Id)
        {
            try
            {

                return dataContext.UserResources.Where(r => r.UserID == Id && r.Resource.IsActive == true).FirstOrDefault();


            }
            catch (Exception ex)
            {
              throw ex;
            }
        }

然后在控制器上我將其添加到列表

List<UserResource> objlst = new List<UserResource>();
for(int i=0;i<100;i++)
{
var data = objResourceRepository.GetData(userIds[i].UserID);
if (data != null)
objlst.Add(data);
}

userIds來自單獨的方法我遇到的問題是數據要添加兩次,即一條記錄要添加兩次,此代碼有什么問題,我應該使用GetData()方法替代什么?

您在UserResources表中具有相同useId的重復記錄,或者在userIds數組中具有重復的userId。

無論哪種方式,對於100條記錄中的每條記錄分別進入DB似乎都是一種非常低效的處理方式。 至少最好將use數組的數組傳遞給GetData函數,並在其中使用'in'子句。 然后讓您的GetData函數返回UserResources的枚舉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM