我有一个带有表的旧数据库,该表只有一行,没有主键。当我尝试更新此行时,什么都没有发生。我搜索了很多,找到了这行代码(dbf.Entry(nextPro))。状态=实体状态。已修改;) 。添加此代码时,我遇到了错误:“无法跟踪类型为‘NxtId’的实例,因为它没有主键。只能跟踪具有主键的实体类型。”
我无法删除该行并添加新行。我无法添加主键。我有唯一的选择来以某种方式更新行。
var nextPro = dbf.NxtId.FirstOrDefault();
nextPro.ProductNo = 239071;
dbf.Entry(nextPro).State = EntityState.Modified;
dbf.SaveChanges();
实体:
public partial class NxtId
{
public int? ProductNo { get; set; }
public int? Uid { get; set; }
[Key]
public int? SatCode { get; set; }
}
适合我的代码(实体框架核心不喜欢使用原始sql)。所以我必须找到一个仍然有效的命令。
using (SqlConnection connection = new SqlConnection(Configuration["ConnectionStrings:Test"]))
{
SqlCommand command = new SqlCommand("UPDATE dbo.NxtID SET ProductNo =" + newProductNo, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
如果实体框架中的实体没有键,则无法跟踪或更改该实体。但是,您仍然可以从数据库中读取数据。此外,您还可以使用扩展方法RelationalDatabaseFacadeExtensions运行自定义的手动编写的SQL查询。ExecuteSqlRaw()。使用它发送普通的更新查询,然后从数据库中再次读取实体以获取新值。
dbf.Database.ExecuteSqlRaw($"UPDATE {nameof(NxtId)} SET {nameof(NxtId.ProductNo)} = {{0}}", 239071);
var nextPro = dbf.NxtId.Single();
我有一个ASP MVC.NET核心(C#)项目,由于业务原因,SQL表不能有外键,因此,EF模型不映射关系(Entity.HasMany...)。 假设EF为实体生成一个模型,为生成一个模型。我想知道他们两个之间的关系。一个有多个并且一个属于一个。该任务在数据库中有项目Id(但请记住,它没有设置为FK)。 现在,我想通过to Entity获得一个项目列表,同时获得每个项目的任务列表。我通过创建一个
我试图使用实体框架核心从我的表中检索一行。这似乎很简单,但我无法让它工作。 我可以通过使用获得列表 _上下文。国家。ToList(); 这给了我表格中国家的完整列表。现在我只需要得到一个与ID匹配的国家。如何做到这一点,因为EF核心中缺少Find()。我们可以选择在哪里吗。谁能帮我理解一下语法吗。 我的国家/地区模型如下所示 公共部分类COUNTRY{public string COUNTRYID
在Visual Studio 2013 Update 3中,在我将SQL Server 2012中的主键从SAM\u ID更改为ID In PERSON表后,基于实体框架5.0的数据模型没有拾取pk fk关系。 所有约束都已重新创建,没有出现任何问题。SQL Server中的图表显示了正确的关系。 我尝试在Visual Studio中清理解决方案并重新创建ADO. NET实体数据模型,但保存主键的
我正在尝试编写一个Updatestatus方法,该方法仅在我保存对数据库的更改时更新实体的状态字段。如果实体中的任何其他字段发生了变化,我不想将这些更改保存到数据库中。对于实体自己的字段来说,这很简单,使用: 但是,我发现,如果相关实体没有键值集,则将插入通过我设置状态的实体的导航属性可访问的任何相关实体。因此,如果将新的子实体添加到实体中。子项,并且子实体ChildId属性为0,则该子项将插入到
问题内容: 我已经制作了一个简单的Entity Framework ASP Core Application,它可以工作,但是我不知道为什么: 我做了这样的上下文: 我有两个表,像这样的模型: 有趣的是,当我运行我的应用程序时,它实际上可以拾取数据。似乎很奇怪,因为我没有指定任何表映射。我假设这只是自动映射,因为指定的表具有相同的名称。 我的问题是: 如果我不希望模型名称与数据库完全相同,该如何指
我已经找到了几个这样的帖子,但不能确定我在这里做错了什么。 我试着在两张桌子上各放一个项目。第二项包含对第一项的查找。我可以在没有问题的情况下为父级添加种子,但无法找到正确的语法来为子级添加种子。 下面是我用来种子父级的代码 下面是种子子的代码--这将失败: 根据文档的建议,我使用了一个匿名对象,而不是类本身。我也尝试过同时使用navigation属性、外键和nav道具。ID=1的组肯定已经在db