entity-framework - 如何首先在 Entity Framework 4 代码中映射复合主键?

标签 entity-framework orm composite-key

我首先开始掌握 EF4 代码,到目前为止我很喜欢它。但我在将实体映射到具有复合主键的表时遇到问题。

我尝试过的配置如下所示:

public SubscriptionUserConfiguration()

    {
                Property(u => u.SubscriptionID).IsIdentity();
                Property(u => u.UserName).IsIdentity();
    }

这会引发此异常: 无法推断实体类型“SubscriptionUser”的键。

我错过了什么?

最佳答案

你也可以使用

HasKey(u => new { u.SubscriptionID, u.UserName });

编辑:

我发现的一个限制是以下方法不起作用:

public ProjectAssignmentConfiguration()
{
    HasKey(u => u.Employee.EmployeeId);
    HasKey(u => u.Project.ProjectId);
}

public ProjectAssignmentConfiguration()
{
    HasKey(u => new { u.Employee.EmployeeId, u.Project.ProjectId });
}

那么如何设置一个实体,其中连接表具有由外键组成的主键?

关于entity-framework - 如何首先在 Entity Framework 4 代码中映射复合主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2733254/

相关文章:

c# - 使用 EF 对数字和字母字符串进行排序

c# - 在 Linux 中使用带有 DbContext 的 Entity Framework 有问题

c# - Entity Framework 查询多对多关系

java - 集合值的 Hibernate 标准

sql - 我们如何才能获得所有用户名列表而不是使用 django ORM 的用户对象

java - Cassandra Spring Data不允许我直接通过复合主键查询数据

Asp.Net Identity 查找不在角色中的用户

java - 如何使用 JPA 和 Hibernate 映射集合的最新子项

java - 如何建模包含外键的复合主键?

nhibernate - Fluent Nhibernate Composite Key 不为引用实体生成连接