entity-framework - Entity Framework : Assign entity to property of another entity

标签 entity-framework entity-relationship variable-assignment entityreference

我有这些实体(这只是我为这篇文章创建的抽象):

  • 语言
  • 地区
  • 描述

这些是它们之间的引用:

  • 地区 * - 1 语言
  • 描述 * - 1 语言
  • 地区 1 - 1 描述

如果我像这样获取:

var myFetch = from c in context.Districts
              where c.Id = 10
              select new { DistrictId = c.Id, Lang = c.Language };

之后,我尝试将其分配给描述,如下所示:

Description desc = Description.CreateDescription(0, "My description");
desc.DistrictReference.EntityKey = new EntityKey("MyEntities.Descriptions", "DistrictId", myFetch.DistrictId);
desc.Language = myFetch.Lang; //throws error

抛出的错误是:

System.InvalidOperationException: The relationship cannot be defined because the EntitySet name 'MyEntities.Descriptions' is not valid for the role 'District' in association set name 'MyEntities.District_Description'.

我做错了什么?

最佳答案

正如消息所说:您指定了错误的实体集名称。

  1. 打开您的 EDMX。
  2. 打开模型浏览器窗口。
  3. 在模型浏览器中查找 District 实体
  4. 右键单击它,选择“属性”
  5. 记下正确的实体集名称

关于entity-framework - Entity Framework : Assign entity to property of another entity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1498405/

相关文章:

c - 如何在 C 中解析使用逗号运算符的复杂表达式?

c# - Linq 到 Entity Framework : Select with only subset of child elements

mysql - 是一种关系

java - 如何以独特的方式分配变量以求减法中的补数

Golang 混合赋值和声明

MySQL - 建议链接多个表 - 这是正确的吗?

entity-framework - 我可以在不先查询 EF 实体的情况下更新它吗?

c# - 通过特定属性将列表转换为逗号分隔字符串的最简单方法?

c# - ComboBox 数据源和 Entity Framework

mysql - 当一个索引可能来自两个不同的表时,我们如何建立表关系?