Adm*_*vić 0 many-to-many entity-framework entity-framework-4 entity-framework-5
我有两节课:
public class User
{
public int Id {get;set;}
public string Username {get;set;}
[InverseProperty("Users")]
public virtual ICollection<Tag> Tags {get;set;}
}
public class Tag
{
public int Id {get;set;}
public string Title {get;set;}
[InverseProperty("Tags")]
public virtual ICollection<User> Users {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
这显然导致第3个表类似于称为UserTags的多对多关系,它只有两列,UserId和TagId.
现在假设我有100.000个用户和100.000个标签,平均每个Eser与1.000个标签有关系.我想从特定的User.Tags集合中删除单个标记,而不必在此之前加载所有标记.
最快的方法是什么?
试试这个:
// Create dummy objects for existing user and tag
var user = new User { Id = existingUserId };
var tag = new Tag { Id = existingTagId };
user.Tags.Add(tag);
// Start tracking user and related tag as unchanged
dbContext.Users.Attach(user);
// Remove relation between user and tag
user.Tags.Remove(tag);
dbContext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
162 次 |
| 最近记录: |