如何使用导航属性与不同属性名称的EF FLUENT API连接2个实体

时间:2018-09-03 06:59:13

标签: c# entity-framework ef-fluent-api

我有2个实体,我想通过导航属性将它们连接起来。但是在数据库中没有forgein键,并且Columns具有不同的名称。 所以我想使用流畅的API。

这是数据示例:

CAR
CarId = 1
Name = "Test"
DictId = "AO"

LOOKUP
LookupCategory: "DictId"
LookupId = "AO"
Details = "SomeDetails"

记录应通过Car.DictId = Lookup.LookupId连接。 请注意,我的表LOOKUP的列LookupCategory等于DictIdCAR的表名),尽管如此,我认为在流畅的API中无法考虑到它。 就像我说的,我只是尝试通过CAR连接LOOKUPDictId = LookupId。然后,我将通过LINQ对其进行过滤。 var lookupDetails = Car.Lookup.Where(l => l.LookupCategory == "DictId").SingleOrDefault().Details;

这是我到目前为止所拥有的,但是不起作用:

HasMany(e => e.Lookup).WithMany(e => e.Car)
  .Map(x =>
    {
        x.MapLeftKey("DictId");
        x.MapRightKey("LookupId");
    });

0 个答案:

没有答案