EF4 POCO 树形结构实体的创建

最近在学 EF4 POCO的应用, 感觉对我们开发人员来说是个非常的好东东, 不仅提高开发效率, 更能适应经常变化的项目需求。 

一般的实体创建没什么大问题, 但树形结构实体的创建就要做些动手的活了。 

例如:

 public class Category
    {
        public int Id { get; set; }
        public string Description { get; set; }
        public int? ParentId { get; set; }
        public bool? Editable { get; set; }
        [ForeignKey("ParentId")]
        public virtual ICollection<Category> Children { get; set; }
    }

Children上设置了一个ForeignKey的属性,在生成数据表的时候会生成相应的外键约束, 这样在插入数据时就有问题了,如果表中一开始没有任何数据,则受此约束的影响会报错。好吧, 那我就先在数据库中手动插入一条数据做为根, 报错,则 删除外键约束,再试, 成功!

如果仅仅是把外键约束删除, 在插入数据时还是会报错, 这个错误不是数据库报的,而是EF框架代码报的, 由于设置了ForeignKey属性, 框架代码回去检查是否存在外键约束的值, 所有必须手动加入一条根数据。

万事开头难, 解决了开头,后面就好办了!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值