[英]How to select the most repeating records in related tables with Entity Framework
[英]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.