gpt4 book ai didi

c#-4.0 - EF Codefirst 如何使用 DataAnnotations 从多列创建键

转载 作者:行者123 更新时间:2023-12-01 09:07:38 29 4
gpt4 key购买 nike

我正在尝试使用 Attributes 和 DataAnnotation 获取在类中声明的复合键。

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

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

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

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

感谢您的帮助 安德烈亚斯

最佳答案

您可以使用 Fluent API 轻松执行以下操作:

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

此外,您可以创建从 EntityTypeConfiguration 继承的单独类,并在其构造函数中添加以下行:

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

public <*Name*>Mapping(){
this.HasKey(obj => new {obj.Id,obj.Nr});
}
}

关于c#-4.0 - EF Codefirst 如何使用 DataAnnotations 从多列创建键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4898720/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com