Entity Framework Core
实体框架数据访问技术的轻量型、可扩展、开源、跨平台版本。
49 个问题
你好;
有没有办法通过主键删除记录?
是的,我知道我可以做到以下几点:
using (var context = new MyDbContext())
{
var entity = context.MyEntity.Find(id);
context.MyEntity.Remove(entity);
context.SaveChanges();
}
但我宁愿不产生先加载记录的不必要的开销。
我知道这个问题,但它已经有 11 年的历史了,我希望从那时起就有一个解决方案。
Note:此问题总结整理于:Delete a record with the primary key
欢迎来到 Microsoft Q&A,如果要基于主键删除记录,不想花费不必要的开销,建议使用 SQL RAW 方法删除记录,如下所示:
using (var context = new YourDbContext())
{
var sql = "DELETE FROM YourTable WHERE Id = {0}";
context.Database.ExecuteSqlRaw(sql, yourEntityId);
}
上面的代码删除 sql server 中的记录,而不加载实体类型。
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。
注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。