Есть ли способ сделать свойство обратной привязки для NULL для отношения NULL-отношения с внешним ключом в Entity Framework? В языке базы данных отношение 0..1 к 0..1.
Я пробовал, как показано ниже, но я продолжаю получать сообщение об ошибке:
Невозможно определить главный конец ассоциации между типами Type1 и Type2. Основной конец этой ассоциации должен быть явно сконфигурирован с использованием либо свободного API API, либо аннотаций данных.
public class Type1 {
public int ID { get; set; }
public int? Type2ID { get; set; }
public Type2 Type2 { get; set; }
}
public class Type2 {
public int ID { get; set; }
public int? Type1ID { get; set; }
public Type1 Type1 { get; set; }
}
Я понимаю, что целочисленный столбец может существовать только в одной таблице или другой, но, безусловно, должно быть возможно охватить все необходимые случаи? Например:
Type1 Type2
======== ===============
ID ID | Type1ID
-------- ---------------
1 1 | null
2 2 | 2
Я попытался использовать аннотации данных (например, [ForeignKey]
на одном конце, [InverseProperty]
на обоих), но ни один из них, похоже, не помогает.
Если возможно, решение по аннотации данных будет предпочтительнее Fluent API. Кроме того, свойство int?
не является строго необходимым с точки зрения домена для любого класса, если это помогает.
Здесь есть интересный , который подразумевает, что невозможно зафиксировать этот вид отношений в Entity Framework (фактически, элемент, который необязательно входит в число коллекции) - если да, есть ли какая-либо документация, которая бы поддерживала это?