Как сопоставить одну и ту же сущность с разными базами данных и игнорировать столбец только для одной БД в Entity Framework Core? - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть две SQL серверные базы данных, DB1 и DB2.

У меня есть только одна кодовая база, указывающая на обе базы данных. Я использую Entity Framework Core с подходом «сначала код» для отображения классов в таблицы. Есть ли способ игнорировать указанный столбец c только для одной базы данных, а не для других?

Если я игнорирую столбец, как показано ниже, он не сопоставляется для обеих баз данных. Есть ли способ сопоставить, только если столбец существует или же игнорировать, а не просто игнорировать столбец?

public class SampleConfigurations : IEntityTypeConfiguration<Sample>
{
    public void Configure(EntityTypeBuilder<Sample> builder)
    {
        builder.Ignore(item => item.columnproperty);
    }
}

1 Ответ

0 голосов
/ 06 февраля 2020

Это может быть ответом на ваш вопрос.

https://www.learnentityframeworkcore.com/configuration/fluent-api/ignore-method

Создать функцию для определения того, какую БД вы используете, и использовать эту функцию для проверки в Configure .

public class SampleConfigurations : IEntityTypeConfiguration<Sample>
{
public void Configure(EntityTypeBuilder<Sample> builder)
{
    if (DB == "DB1")
        builder.Ignore(item => item.columnproperty);
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...