При добавлении миграции в таблицу дублируется поле (но в конце с 1
):
CreateTable(
"public.t_users",
c => new
{
id = c.Int(nullable: false, identity: true),
login = c.String(),
password = c.String(),
name = c.String(),
role_id = c.Int(nullable: false),
role_id1 = c.Int(),
})
.PrimaryKey(t => t.id)
.ForeignKey("public.t_roles", t => t.role_id1)
.Index(t => t.role_id1);
Хотя в БД оно одно:
-- Table: public.t_users
-- DROP TABLE public.t_users;
CREATE TABLE public.t_users
(
name character varying(100) COLLATE pg_catalog."default" NOT NULL,
login character varying(100) COLLATE pg_catalog."default" NOT NULL,
password character varying(100) COLLATE pg_catalog."default" NOT NULL,
role_id integer NOT NULL,
id integer NOT NULL DEFAULT nextval('t_users_id_seq'::regclass)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
ALTER TABLE public.t_users
OWNER to psp;
Было бы хорошо, если оно было бы только при миграции...но это поле всплывает и при сохранении в БД...и естественно вылетает ошибка от Entity
:
BaseMessage = "column \"role_id1\" of relation \"t_users\" does not exist"
model:
namespace Loyalty.DAL.Models.Authorize
{
[Table("t_users", Schema = "public")]
public class User
{
[Key]
public int? id { get; set; }
public string login { get; set; }
public string password { get; set; }
public string name { get; set; }
public int role_id { get; set; }
public virtual Role role { get; set; }
}
}
Объясните пожалуйста "как так", и зачем он (Entity
) добавляет это поле?
Нужно явно указать, что поле является внешним коючем.
[Table("t_users", Schema = "public")]
public class User
{
[Key]
public int? id { get; set; }
public string login { get; set; }
public string password { get; set; }
public string name { get; set; }
[ForeignKey(nameof(role))]
public int role_id { get; set; }
public virtual Role role { get; set; }
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Работал когда-то с wpf, прошел курс, написал проект и забылИ вот, опять имею с ним дело
Есть таблица tb_productsНадо воспроизвести поиск по двум столбцам: title и description