Entity framework 如果entityframework core中不存在或更新,那么最好的插入方式是什么?
模型如下:Entity framework 如果entityframework core中不存在或更新,那么最好的插入方式是什么?,entity-framework,entity-framework-core,Entity Framework,Entity Framework Core,模型如下: public class UserModel { public boolean Online{ get; set; } [Key] public string id { get; set; } } 以下是DBContext: public class UserDBContext:DbContext { public virtual DbSet<UserModel> UserStatus
public class UserModel
{
public boolean Online{ get; set; }
[Key]
public string id { get; set; }
}
以下是DBContext:
public class UserDBContext:DbContext
{
public virtual DbSet<UserModel> UserStatus { get; set; }
public UserDBContext(DbContextOptions options) : base(options)
{
}
protected UserDBContext()
{
}
}
尽管它可以工作,但我担心在有数百万数据的情况下的性能。数据库将计算计数的所有数据,而我只需要一个
我怎样才能解决它?谢谢。您应该改用
确定序列的任何元素是否存在或满足
条件
public async Task SetUserStatus(UserModel UM)
{
if (UserDBContext.UserStatus.Where(X => X.id == UM.id).Count() != 0)
{
UserDBContext.UserStatus.Update(UM);
}
else
{
UserDBContext.UserStatus.Add(UM);
}
UserDBContext.SaveChanges();
}
if (UserDBContext.UserStatus.Any(X => X.id == UM.id))
{
UserDBContext.UserStatus.Update(UM);
}