我有这样的事情:
modelBuilder.Entity<TransactionHistory>()
.HasOptional(history => history.Sender)
.WithMany()
.Map(s => s.MapKey("Sender"))
.WillCascadeOnDelete(false);
modelBuilder.Entity<TransactionHistory>()
.HasOptional(history => history.Receiver)
.WithMany()
.Map(s => s.MapKey("Receiver"))
.WillCascadeOnDelete(false);
在我的 TransactionHistory 表中,它在 Sender 和 Receiver 列创建唯一标识符。我不希望这些列是唯一的,我该怎么办?
交易历史模型:
public class TransactionHistory
{
public Account Sender { get; set; }
public Account Receiver { get; set; }
}
编辑:好的。显然,uniqueidentifiers 并非如此。问题是,当我将 transactionhistory 项目添加到数据库中时,出现以下错误:
违反 PRIMARY KEY 约束“PK_dbo.Accounts”。无法在对象“dbo.Accounts”中插入重复键。\r\n语句已终止。
我像这样添加这个项目:
context.Transactions.Add(history);
context.savechanges();
(交易是一个交易历史对象)