2016-07-26 93 views
-1

我有问题。我真的不知道这是否可能。我工作模式的MVC应用程序和部分看起来像这样:是否有可能在同一个班级有两把钥匙?

public class EmployeeNewspaper 
{ 
    public string Name { get; set; } 
    [Key] 
    public string Appendage { get; set; } 
    public string SourceInformationName { get; set; } 
} 

所以我的问题是:是否有可能有两个按键在同一个班?或者我能做什么?我需要名称和附件是独一无二的。可能吗?

+4

这不是完全清楚的问题是什么 - 这是一个实体框架模型还是标准的MVC模型?如果它是一个标准的MVC模型,你想让你的独特性通过你的代码或你的用户界面来实施吗? (例如,如果将某个副本添加到某些内容中,是否需要运行时错误或验证错误?) - 如果您可以澄清要执行唯一性的位置,则它会很有用,因为方法会有所不同(数据库密钥,哈希/相等比较器,验证规则等) – Charleh

+0

其实体框架模型。我想向用户显示唯一信息 – SomeAnonymousPerson

+0

当我在数据库中运行存储过程时,我拥有正确的信息。但是,当我将信息传递给模型时,因为我只有附件中的关键字,所以它具有不同的名称,无论如何它都显示相同的名称。所以我需要在任何情况下都把我们俩的名字和附属关键词(一起)。我解释了我自己吗? – SomeAnonymousPerson

回答

1

感谢 @Charle我其实是在寻找复合键,答案是:

public class EmployeeNewspaper 
{ 
    [Key][Column(Order = 0)] 
    public string Name { get; set; } 
    [Key][Column(Order = 1)] 
    public string Appendage { get; set; } 
    public string SourceInformationName { get; set; } 
} 
0

你可以使用一个Guid并得到 lobally ü NIQUE ID entifier。

但你需要注意,使用此:

Guid MyID = new Guid(); 

将导致全零(空)的标识。

所以,你需要使用它是这样的:

Guid MyID = Guid.NewGuid(); 
+2

这怎么回答这个问题? – Maarten

+0

如何将名称和附件分配给GUID?谢谢! – SomeAnonymousPerson

+2

这给你一个实例的唯一ID(除了引用本身),但不强制任何字段的唯一性.. – Charleh

相关问题