我有2个实体,我想通过导航属性将它们连接起来。但是在数据库中没有forgein键,并且Columns具有不同的名称。 所以我想使用流畅的API。
这是数据示例:
CAR
CarId = 1
Name = "Test"
DictId = "AO"
LOOKUP
LookupCategory: "DictId"
LookupId = "AO"
Details = "SomeDetails"
记录应通过Car.DictId = Lookup.LookupId
连接。
请注意,我的表LOOKUP
的列LookupCategory
等于DictId
(CAR
的表名),尽管如此,我认为在流畅的API中无法考虑到它。
就像我说的,我只是尝试通过CAR
连接LOOKUP
和DictId = 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");
});