我是Entity Framework 7的新手,我希望能够访问编辑多对多关系表。在Fluent API中,我有一些代码如下:
modelBuilder.Entity<AB>().HasKey(x => new { x.AId, x.BId });
...
public DbSet<AB> ABs { get; set; }
主键是匿名类型。但我希望能够通过主键搜索我的AB
实体。我可以将匿名PK类型更改为特定类型吗?
答案 0 :(得分:0)
不,你不能。我可以将匿名PK类型更改为特定类型吗?
HasKey
方法的作用是配置PK的顺序,就在您的实体中,PK属性将保持为简单属性,而不是匿名类型。因此,您可以使用Find
方法搜索特定实体,如下所示:
int aid=1;
int bid=2;
// pass the key values in the same order you define in the HasKey method
var entity= dbcontext.ABs.Find(aid,bid);
//Or
var entity= dbcontext.ABs.FirstOrDefault(ab=>ab.AId==aid && ab.BId==bid);
好吧,现在我正在阅读Find
方法仍然不受支持,但你可以在post