我的数据库中有2个表,IncomingCheckHistory
和OutgoingCheckHistory
,还有第三个表Log
,需要一个名为HistoryId
的唯一列。这个数字在两个表(IncomingCheckHistory
和OutgoingCheckHistory
)之间应该是唯一的,因此我不能在此处使用检查“Id
列作为外键。每个支票的2个记录也应该相同,所以我不能使用Id
表中的h Log
。
public IncomingCheckHistory()
{
public int Id { get; set; }
}
public OutgoingCheckHistory()
{
public int Id { get; set; }
}
public Log()
{
public int Id { get; set; }
public int HistoryId { get; set; } //should be unique for every 2 records
}
是否有使用Entity Framework生成唯一整数的内置方法?
如果没有这样的方法,对我来说最好的选择似乎是添加第四个表,插入一个记录并在此处使用其Id作为值,或者只根据支票的Id生成一个数字。
系统使用这些记录连接到ERP系统。每张支票都需要有2条记录(一条用于存款账户,一条用于信用账户)和两个支票的标识号应该相同(基本上连接两条)但这个号码不应该用于任何其他检查。
例如,假设我们有2个检查,一个是传入,一个是传出。 ID为1的IncomingCheck OutgoingCheck with Id 1
现在,如果我想在Log表中插入相应的记录,我会这样做: