Я пытаюсь моделировать следующие соотношения через EF Poco:Варианты отображение EF 1 до 0..1 отношений между несколькими таблицами
Class TableA
{
[Key]
public int TableAId {get;set;}
public Attribute Attribute {get;set;}
}
Class TableB
{
[Key]
public int TableBId {get;set;}
public Attribute Attribute {get;set;}
}
Class Attribute
{
[Key]
public int AttributeId {get;set;}
public string Name{get; set}
}
где TableA и TableB и ссылку атрибуты.
Для этого я вставил следующие беглые отображения:
new EntityTypeConfiguration<TableA>().HasRequired(x => x.Attribute);
new EntityTypeConfiguration<TableB>().HasRequired(x => x.Attribute);
все в порядке, и я могу добавить элементы, используя этот тип подхода:
var a = new TableA();
var attrA = new Attribute { Name = "Table A Attribute"};
a.Attribute = attrA;
MyDbContext.TableAs.Add(a);
MyDbContext.SaveChanges();
, пока я не хочу, чтобы удалить как TABLEA (или B) и атрибут, на который ссылается.
MyDBContex.TableAs.Remove(a);
MyDBContex.Attributes.Remove(a.Attribute);
, который вызывает исключение, которое жалуется на FK.
Какие у меня есть параметры для сопоставления и настройки таких отношений?
Мне нужно вставить и удалить объекты TableA и TableB и каскад удалить связанные записи атрибутов.