Я пытаюсь смоделировать базу данных в LINQ to SQL. У меня есть таблица JournalPosts. Каждый объект связан с 1 или более отправителями или получателями. У меня есть следующий составной первичный ключ в моей таблице "JournalPosts":
[Column(IsPrimaryKey = true)]
public int CaseYear { get; set; }
[Column(IsPrimaryKey = true)]
public int CaseSequenceNumber { get; set; }
[Column(IsPrimaryKey = true)]
public int DocumentNumber { get; set; }
Я определяю отношение один-много, как это в JournalPosts:
private EntitySet<SqlSenderRecipient> senderRecipients;
[Association(OtherKey = "CaseYear, CaseSequenceNumber, DocumentNumber", Storage="senderRecipients")]
private EntitySet<SqlSenderRecipient> SenderRecipients
{
get { return senderRecipients; }
set
{
senderRecipients.Assign(value);
}
}
В другой моей таблице (SenderRecipients) я попытался определить поля следующим образом:
[Association(IsForeignKey=true)]
public int CaseYear { get; set; }
[Association(IsForeignKey=true)]
public int CaseSequenceNumber { get; set; }
[Association(IsForeignKey=true)]
public int DocumentNumber { get; set; }
Проблема в том, что я получаю «Ссылка на объект не установлена на экземпляр объекта». ошибка при попытке создать базу данных. Однако, если я укажу атрибут Column в другой таблице (SenderRecipients) вместо атрибутов Association, он будет работать (но тогда столбцы не будут заданы как внешние ключи в базе данных - это то, что я хочу).