如何在实体框架中为“多字段”主键(Constraint Primary Key)设置NAME?

时间:2014-05-14 21:07:05

标签: asp.net-mvc-3 entity-framework

如何为"多个字段设置名称"实体框架中的主键(Constraint Primary Key)? 例如:

// CONSTRAINT PKRoles PRIMARY KEY (Rolename, ApplicationName)

我只能实现部分代码:

sql cod:

CREATE TABLE Roles
(
    Rolename Text (255) NOT NULL,
    ApplicationName Text (255) NOT NULL,
    CONSTRAINT PKRoles PRIMARY KEY (Rolename, ApplicationName)
)

实现(转换为实体):

public class Roles
{
    [Key, Column(Order = 0)]
    public string Rolename { get; set; } //(255) NOT NULL

    [Key, Column(Order = 1)]
    public string ApplicationName { get; set; } //(255) NOT NULL

    //CONSTRAINT PKRoles PRIMARY KEY (Rolename, ApplicationName)
}

我在数据库的键部分看到,使用" PK_dbo.Roles "创建键。名称 ! 但我需要创建密钥" PKRoles " NEME!

请帮我实现上面的代码结束。
非常感谢。

enter image description here

1 个答案:

答案 0 :(得分:0)

以下代码是否符合您的要求?

public class Roles
{
    [Key, Column("PKRoles", Order = 0)]
    public string Rolename { get; set; } //(255) NOT NULL

    [Key, Column("PKRoles", Order = 1)]
    public string ApplicationName { get; set; } //(255) NOT NULL
}

您正在寻找的是"复合键"并且您可以使用流畅的API。如果这不起作用,这可能有助于您的搜索。