使用 Entity Framework 代码优先创建复杂的主键

Create a complex Primary Key using Entity Framework code-first

我需要通过Entity Framework代码优先创建一个复杂的值,其中包括以下三个值。

我想C自动生成。在一个示例中,我们有这些 ID:

+-----+------+--+
|A    |B     |C |
+-----+------+--+
|s#34 |67889 |1 |
|s#34 |68988 |2 |
|s#34 |87665 |3 |
|s#34 |35458 |4 |
|s#34 |..... |5 |
...

我正在寻找这样的代码:

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[ID = "string1" + "string2" + default.ToString()]
public int ID { get; set; }

我的意思是从代码中的 "default" 返回到从 (DatabaseGeneratedOption.Identity) 得到的值。

感谢您的帮助

将三个信息都塞到一个字段中会违反单一职责原则。如果您需要连接三列进行显示,您可能应该创建一个 composite key, and then combine in a computed column