I have such classes (simplicified):
public class Transaction
{
public int LocalId { get; set; }
public int MachineId { get; set; }
public virtual Machine Machine { get; set; }
public int? MoneyId { get; set; }
public virtual TransactionMoney Money { get; set; }
}
public class Machine
{
public int Id { get; set; }
public string Name { get; set; }
}
public class TransactionMoney
{
public int LocalId { get; set; }
public int MachineId { get; set; }
public virtual Machine Machine { get; set; }
public int TransactionId { get; set; }
public virtual Transaction Transaction { get; set; }
}
I would like to have relationship Transaction 1 <-> 0...1 TransactionMoney where foreign key in Money should be TransactionId and MachineId (connected to transaction's LocalId and MachineId). I need to do this in fluent API.
What I've tried is:
modelBuilder.Entity<Transaction>()
.HasOptional(t => t.Money)
.WithRequired(t => t.Transaction)
.HasForeignKey() <--- there is no such method
and in other side
modelBuilder.Entity<TransactionMoney>()
.HasRequired(t => t.Transaction)
.WithOptional(t => t.Money)
.HasForeignKey() <--- there is no such method