ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CodeGo.net>实体框架以不确定性的方式删除有效内容未经许可?

2019-12-01 09:18:16  阅读:241  来源: 互联网

标签:ef-code-first entity-framework-4-1 c entity-framework


我在使用EF将数据存储到数据库时遇到麻烦.通常,所有CRUD操作对于程序的其余部分都可以正常工作,但是最近我注意到,在m:n关系的情况下,棘手的部分来了.

我将EF4.1与代码优先方法结合使用.我的课程有趣的部分如下所示:

public class Publication : IItem, IDataErrorInfo {

     ...

    [InverseProperty("Publications")]
    public virtual ICollection<Group> Groups{ get; set; }
}

public class Group : IItem, IDataErrorInfo {

     ...

    [InverseProperty("Groups")]
    public virtual ICollection<Publication> Groups{ get; set; }
}

数据库创建如下:

    public PublicationsDB() : base("PublicationDB") {
        this.Configuration.AutoDetectChangesEnabled = true;
    }

    public DbSet<Publication> Publications { get; set; }
    public DbSet<Software> Softwares { get; set; }
    public DbSet<Group> Group{ get; set; }

目的是在出版物和组之间创建m:n关系.

最近,当我从XML导入数据时,一切正常.在调用SaveChanges()之后,两个发布和组都将存储其ICollection.在相同的方法中,下面几行内容是我从数据库中获取数据(仅用于检查),并且两个实体都填充了其ICollection.

麻烦来了:

当执行不同的数据处理功能时,我从数据库中挖掘数据并:

>出版物的收集情况良好,所有实体均具有适当的ICollection< Group>.从xml填充
>但是,网上论坛的集合相当混乱.它们中的大多数具有ICollection< Publication>.设置为null.

可能是什么问题?这种行为对我来说真的很奇怪.最后但并非最不重要的一点是从DBSet< Groups>中删除Collections.不是确定性的.我的意思是,如果我们考虑组A和组B,那么在程序A.ICollection = null和B.ICollection.Count = 1的运行中(这是错误的),而在另一轮运行中则不同,即A.ICollection = null和B.ICollection = null(这也是错误的)

有任何想法吗?

构建代码时首先陷入混乱的模型数据库?框架错误或怪异的内部框架优化?还是我只是个屁眼?

标签:ef-code-first,entity-framework-4-1,c,entity-framework
来源: https://codeday.me/bug/20191201/2079885.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有