3

我正在尝试获取在具有属性和 DataAnnotation 的类中声明的复合键。

[Key]
[Column(Order=1)]
public Guid Id { get; set; }

[Key]
[Column(Order=2)]
public int Nr { get; set; }

似乎没有做到这一点。到目前为止,我所能找到的只是一些流畅的选项,但我只想用注释来做到这一点。

澄清一下:我正在寻找一种 DataAnnotation 方法来创建一个主键由 2 个字段 Id 和 Nr 组成的表...

感谢您的帮助安德烈亚斯

4

2 回答 2

9

You can easily do this as follows using Fluent API:

modelBuilder.Entity<YourClass>().HasKey(obj => new {obj.Id,obj.Nr});

Also, you can create separate class that inherit from EntityTypeConfiguration and add this line in its constructor:

public class <*Name*>Mapping:EntityTypeConfiguration<*Name*> 

      public <*Name*>Mapping(){
             this.HasKey(obj => new {obj.Id,obj.Nr});
      }
}
于 2011-08-17T10:30:26.040 回答
0

上周我问了一个类似的问题,但正在寻找流利的语法。Morteza 提供的答案(搜索他关于任何 ef/CTP5 的更多答案——他很棒)也给出了使用数据注释的语法。

这是链接。 希望这可以帮助。

于 2011-02-04T16:38:27.797 回答