使用Entity Framework Core删除dbData.Database.SqlQuery<SomeModel>
我无法找到为我的全文搜索查询构建原始SQL查询的解决方案,该查询将返回表数据以及排名.
我见过在Entity Framework Core中构建原始SQL查询的唯一方法是通过dbData.Product.FromSql("SQL SCRIPT");
它没有用,因为我没有DbSet来映射我在查询中返回的排名.
有任何想法吗???
在这个关于实体框架和MERGE的SO答案中,如何编写代码的示例如下:
public void SaveOrUpdate(MyEntity entity)
{
if (entity.Id == 0)
{
context.MyEntities.AddObject(entity);
}
else
{
context.MyEntities.Attach(entity);
context.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
}
}
Run Code Online (Sandbox Code Playgroud)
这假设您已经知道要嵌入的实体是否存在; 在这种情况下,你检查entity.Id
.但是,如果您不知道该项目是否存在,该怎么办?例如,在我的情况下,我将来自供应商的记录导入我的数据库,并且可能已经或可能没有导入给定记录.我想更新记录,如果它存在,否则添加它.但两种情况下都已设置供应商的ID.
除非我只是询问数据库是否已经存在记录,否则我无法看到任何方法这样做,这违背了MERGE的全部目的.