我有一个名为Point
的类,它可以包含在许多其他类中,所以结构看起来像这样:
public class foo
{
[Key]
public int ID { get; set; }
public virtual Point ImageCenter { get; set; }
}
public class bar
{
[Key]
public int ID { get; set; }
public virtual Point ImageCenter { get; set; }
}
public class Point
{
[Key]
public int ID { get; set; }
public int X { get; set; }
public int Y { get; set; }
}
Point
与foo
或bar
的关系为1对1。
我要删除的是当我删除foo
或bar
时,引用的Point
也会被删除。
如果我将Point
设置为[Required]
反向删除级联(即如果我删除了Point
foo
或bar
被删除了。< ; - 这与我想要的相反
答案 0 :(得分:0)
你只能用Entity框架做你想做的事情(实际上限制是外键本身不是EF)。
要获得您想要的内容,您需要在DELETE
和UPDATE
及foo
上的bar
和Point
创建触发器,以查看foo
是否为未使用,如果是,则将其删除。 (如果您要删除bar
,则无需仅检查是否有任何foo
使用它,而且如果其他任何{{1}}也使用它,那么