Abdalla Ben Omran Ответов: 2

Как я могу использовать имена таблиц из SQL с помощью EF core, если они называются по-разному ?


В SQL Server названы две таблицы следующим образом :
1-линия покупки FXXL$
2 - заголовок покупки FXXL$

когда я создаю Modles, то Dbcontext и пытаюсь вызвать эти таблицы с другой формой или именем, потому что я не могу оставить пробел или написать"$", он не будет вызывать, и значение всегда равно нулю . я пробовал много форм, но это не работает до сих пор

у меня есть два списка этих классов :

Что я уже пробовал:

public WebshopDbContext(DbContextOptions<WebshopDbContext> dbContextOptions) : base (dbContextOptions)
       {

       }
       public List<FXXLPurchase_Header> FXXLPurchase_Header { get; set; }
       public List<FXXL_Purchase_Line> FXXLPurchase_Line { get; set; }

2 Ответов

Рейтинг:
15

Maciej Los

Я тебя не понимаю...

В процессе создания моделей вы должны использовать классы с понятными именами:

[Table("FXXL$Purchase Line")]
public class PurchaseLine
{
   //members here
}


Затем вы должны использовать имя класса:
public List<PurchaseLine> FXXLPurchaseLine{ get; set; }


Видеть: Аннотации данных Code First - EF6 | Microsoft Docs[^]


Simon_Whale

Именно то, что я бы сказал и сделал много раз

[no name]

вы когда-нибудь сталкивались с такой же проблемой ? я не очень хорошо тебя понял .

Simon_Whale

Да, я имею и регулярно использую там, где мне нужно иметь имя класса, отличное от фактического имени таблицы. Вы также можете использовать атрибут [Table], когда вам нужно включить схемы в дизайн базы данных

[no name]

Спасибо за информацию, Саймон. я тебя понял

Maciej Los

- Спасибо, Саймон.

[no name]

Спасибо за вашу помощь .
у меня есть две ошибки, когда-то был публичный "DbSet" вместо списка, и то, что вы дали мне из [таблицы("FXXL$Purchase Line")], мне помогло .

Maciej Los

Всегда пожалуйста.