我创建了一个类:
public class Client
{
public long AccountNumber {get;set;}
// ...
}
我正在使用非默认(Id)主键:
modelBuilder.Entity<Client>().HasKey(x => x.AccountNumber);
我有一个与Client
public class Something
{
public Client Client {get;set;}
}
我想添加包含外键值的属性 - ClientAccountNumber
使用默认的PK(Id
,f.e。Client.Id
),这是开箱即用的:
public class Client
{
public long Id {get;set;}
}
public class Something
{
public Client Client {get;set;}
public long ClientId {get;set;}
}
使用自定义PK时,这不起作用:
public class Something
{
public Client Client {get;set;}
public long ClientAccountNumber {get;set;} // some kind of convention?
//or explicit configuration?
}
该物业的名称应该是什么,因此EF可以发现这只是FK? 是否有某种命名惯例?
答案 0 :(得分:1)
您可以像创建PK一样为外键关系创建映射。
目前还不清楚你想要什么样的关系,但假设有多对一的关系:
modelBuilder.Entity<Something>()
.HasRequired(x => x.Client)
.WithMany()
.HasForeignKey(x => x.ClientId);