Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 删除EntityFramework CodeFirst中的自引用实体_Wpf_Entity Framework_Mvvm Light - Fatal编程技术网

Wpf 删除EntityFramework CodeFirst中的自引用实体

Wpf 删除EntityFramework CodeFirst中的自引用实体,wpf,entity-framework,mvvm-light,Wpf,Entity Framework,Mvvm Light,我在wpf中为我的EF定义了以下类,以便在mvvm模式中使用: public class ProductGroup : ViewModelBase { public long ID { get; set; } private string _Title; public string Title { get { return _Title; } set { if (_Title != val

我在wpf中为我的EF定义了以下类,以便在mvvm模式中使用:

public class ProductGroup : ViewModelBase
{

    public long ID { get; set; }

    private string _Title;
    public string Title
    {
        get { return _Title; }
        set
        {
            if (_Title != value)
            {
                _Title = value;
                this.RaisePropertyChanged("Title");
            }
        }
    }

    private byte[] _Icon;
    public byte[] Icon
    {
        get { return _Icon; }
        set
        {
            if (_Icon != value)
            {
                _Icon = value;
                this.RaisePropertyChanged("Icon");
            }
        }
    }

    private ProductGroup _Parent;
    public ProductGroup Parent
    {
        get { return _Parent; }
        set
        {
            if (_Parent != value)
            {
                _Parent = value;
                this.RaisePropertyChanged("Parent");
            }
        }
    }

    private ObservableCollection<ProductGroup> _Childs;
    public ObservableCollection<ProductGroup> Childs
    {
        get { return _Childs; }
        set
        {
            if (_Childs != value)
            {
                _Childs = value;
                this.RaisePropertyChanged("Childs");
            }
        }
    }

    private ObservableCollection<Product> _Products;
    public ObservableCollection<Product> Products
    {
        get { return _Products; }
        set
        {
            if (_Products != value)
            {
                _Products = value;
                this.RaisePropertyChanged("Products");
            }
        }
    }

}
  • 我的定义正确吗
  • 当我要从ProductGroups中删除项目时,会发生以下错误:
保存未公开其关系的外键属性的实体时出错。EntityEntries属性将返回null,因为无法将单个实体标识为异常源。通过在实体类型中公开外键属性,可以更轻松地在保存时处理异常。有关详细信息,请参阅InnerException。

注:

  • 目标ProductGroup是另一ProductGroup的子级

  • 目标ProductGroup没有子项和产品


什么是内部异常?DELETE语句与相同的表引用约束“FK_dbo.ProductGroups_dbo.ProductGroups_Parent_ID”冲突。冲突发生在数据库“dbtest1”、表“dbo.ProductGroups”、列“Parent_ID”中。声明已终止。
public class Product : ViewModelBase
{
    public long ID { get; set; }

    private ProductGroup _Gorup;
    public ProductGroup Gorup
    {
        get { return _Gorup; }
        set
        {
            if (_Gorup != value)
            {
                _Gorup = value;
                this.RaisePropertyChanged("Gorup");
            }
        }
    }

    private string _Name;
    public string Name
    {
        get { return _Name; }
        set
        {
            if (_Name != value)
            {
                _Name = value;
                this.RaisePropertyChanged("Name");
            }
        }
    }

}