实体框架重复记录

时间:2012-10-16 07:49:12

标签: c# asp.net-mvc entity-framework

我正在开发一个Entity框架项目,其中我创建了一个表的实体类

我将返回其记录,下面是我检索记录的方法

 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

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()方法?

1 个答案:

答案 0 :(得分:0)

您的UserResources表中有相同useId的重复记录,或者您的userIds数组中有重复的userId。

无论哪种方式,对于100条记录中的每条记录单独分配数据库似乎是一种非常低效的处理方式。至少,将使用数组数组传递给GetData函数并在其中使用'in'子句会更好。然后让你的GetData函数返回UserResources的枚举。