Как связать 2 объекта, используя свойство Navigation с другим именем свойства EF FLUENT API - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть 2 объекта, и я хочу соединить их с помощью свойства навигации. Но в базе данных нет ключа подделки, а столбцы имеют другое имя. Поэтому я хочу сделать это, используя свободный 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");
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...