Платформа объекта - Как делают меня объединяющие таблицы на столбцах непервичного ключа во вторичных таблицах?

Я хочу присоединиться к 2 таблицам с помощью платформы объекта. Я хочу, чтобы соединение к второй таблице было на столбце непервичного ключа.

например, у Меня есть таблица Foo с полями

Foo.Id (PK)
Foo.DbValue

и таблица Bar

Bar.Id (PK)
Bar.DbValue
Bar.Description

И я хочу соединить Нечто с Панелью в EF на поле DbValue.

В hibernate/nhibernate можно сделать это путем добавления параметра столбца к many-one. примерно как это

<class name="Foo" table="Foo>
  <id name="Id" column="Id" />
  <many-to-one name="Bar" class="Bar" column="**DbValue**" />
</class>

Заранее спасибо, если кто-либо знает, как сделать это в EF.

8
задан wonea 2 May 2017 в 15:48
поделиться

1 ответ

Ну, вы не можете сделать это как именованные отношения (то есть стандартным способом).

Это означает, что отношения НЕ являются частью модели.

Однако вы все равно можете выполнить стандартное соединение LINQ:

from f in ctx.Foo
join b in ctx.Bar on f.DbValue equals b.DbValue
select new {f,b} 

Надеюсь, это поможет

Ознакомьтесь с моей серией советов по EF.

7
ответ дан 5 December 2019 в 21:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: