Mam projekt wykorzystujący ostatnią wersję EF CF z PostgreSQL i Npgsql.Integracja Npgsql z Entity Framework Code First
Mój model wygląda następująco:
[Table("mytable")]
public class MyTable
{
[Column("id")]
public int Id { get; set; }
[Column("mycolumn")]
public string MyColumn { get; set; }
}
i bazy danych/tabel/kolumn ma małe litery nazwiska jak:
CREATE TABLE mytable
{
id serial,
mycolumn character(50)
}
Npgsql generuje polecenia SQL w cudzysłowie więc muszę używać adnotacje Danych ze względu na charakterystykę PostgreSQL, czarownica jest denerwująca. Nie chciałbym jednak używać nazw rozdzielanych kwotowań w bazie danych.
Czy istnieje sposób na skonfigurowanie Npgsql tak, aby nie zawierał cudzysłowów podczas generowania poleceń lub wymuszał na małych nazwach tabeli/kolumn w wygenerowanym SQL?
Spójrz na to. –
Witaj, Francisco, w EF6 można używać konwencji do małych nazw tabel i kolumn, zamiast tego dodaj atrybut do każdego, więc nie przejmuj się zbytnio tym pytaniem. :) –
Działa konwencja kodów. Na szczęście, gdy Postgres widzi, że nazwa kolumny jest pisana małymi literami, ignoruje podwójne cudzysłowy (więc nadal otrzymujemy fałdowanie w momencie zapytania), ale dobrze byłoby wiedzieć, jak wyłączyć podwójne podsumowanie. – jhexp