我正在使用Entity Framework 5.0 Code First;
public class Entity
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public string EntityId { get; set;}
public int FirstColumn { get; set;}
public int SecondColumn { get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我想在两者之间进行组合,FirstColumn并且SecondColumn作为独特的组合.
例:
Id FirstColumn SecondColumn
1 1 1 = OK
2 2 1 = OK
3 3 3 = OK
5 3 1 = THIS OK
4 3 3 = GRRRRR! HERE ERROR
Run Code Online (Sandbox Code Playgroud)
反正有吗?
entity-framework constraints unique-key multiple-columns ef-code-first
我们再来一次,旧的论点仍然出现......
我们是否更好地将业务密钥作为主键,或者我们是否更愿意在业务键字段上具有唯一约束的代理ID(即SQL Server标识)?
请提供支持您的理论的示例或证明.
目标是使用GravityZone中的所有字段以及来自Zone表的区域名称的API.我已经尝试了以下代码的几种排列而没有成功.它目前为区域提供null,我希望将该名称作为字符串或对象的一部分.我正在使用我无法修改的现有表.
楷模:
public partial class Zone
{
[Key]
[Column("ZONE_ID")]
public decimal ZoneId { get; set; }
[Column("ZONE_CODE")]
public decimal ZoneCode { get; set; }
[Column("ZONE_NAME")]
public string ZoneName { get; set; }
public virtual ICollection<GravityZone> GravityZones { get; set; }
}
public partial class GravityZone
{
[Key]
[Column("GRAVITY_ID")]
public decimal GravityZoneId { get; set; }
[Column("ZONE_CODE")]
public decimal ZoneCode { get; set; }
[Column("ELEVATION")]
public decimal Elevation { get; set; }
[Column("REMARK")]
[StringLength(2000)]
public string Remark { get; set; } …Run Code Online (Sandbox Code Playgroud) 我有两张桌子:
需求
评论
这些表没有外键,也没有添加任何外键的可能性.我正试图在EF中映射它们.我有每个类,我试图用流畅的代码定义关系,将Comment.Job_ID映射到Requirement.JobNumber.要求可以有很多评论.要求具有注释列表,而注释具有Requirement属性.
我有这个映射设置:
modelBuilder.Entity<Comment>().HasRequired(c => c.Requirement)
.WithMany(s => s.Comments)
.HasForeignKey(f => f.Job_ID);
Run Code Online (Sandbox Code Playgroud)
我试图让Comment.Job_ID映射到Requirement.JobNumber.
任何帮助赞赏.