ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c# – 实体框架CTP4和组合键

2019-06-06 21:52:55  阅读:163  来源: 互联网

标签:c entity-framework-4 composite-key


我正在玩EntityFramework CTP4并决定将它应用于我当前的一个项目.该应用程序使用SQLServer数据库,并且有一个表具有复合键.比如,表“MyEntity”将“Key1”和“Key2”作为外键(单独)和复合主键.

我创建了一个从EntityConfiguration派生的配置类:

class MyEntityConfiguration : EntityConfiguration<MyEntity>
{
    public MyEntityConfiguration()
    {
        HasKey(m => m.Key1);
        HasKey(m => m.Key2);
    }
}

然后在我的DataContext(从DbContext派生):

    public DbSet<MyEntity> MyEntities { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Configurations.Add(new MyEntityConfiguration());
    }

问题是当我查询“MyEntities”的所有记录时:

var entities = from e in MyModel.Instance.MyEntities
               select e;

我得到一个非常奇怪的结果,包括重复18次的第一个记录,然后第二个重复18次(记录,我的表有36个记录).

我怀疑问题在于复合键,因为没有其他实体显示此问题.

任何帮助将不胜感激,谢谢:)

解决方法:

我还没有使用我当前的数据库& CTP4,但在CTP3中,您将创建一个这样的复合键:

HasKey(m => new { m.Key1, m.Key2 });

标签:c,entity-framework-4,composite-key
来源: https://codeday.me/bug/20190606/1190302.html

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

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

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

ICode9版权所有