Я создаю таблицу в своей базе данных, которая содержит основные данные, импортированные из внешнего источника.
Теперь мне нужно сопоставить это с классом и использовать его в качестве свойства навигации для других классов в моей модели.
Как?!
Единственный способ, который я нашел, - установить атрибут Table
для класса, а затем в комментарии по миграции закомментировать команды создания / удаления таблицы - что выглядит довольно неудовлетворительно.
Наверняка должен быть правильный способ сопоставления POCO с существующей таблицей? Как?
Редактировать:
CRAETE TABLE Foo (Id int NOT NULL PRIMARY KEY)
[Table("Foo")
public class Foo
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
int Id {get; set;}
}
Выполнение этой команды:
Add-Migration Foo
приводит к созданию этого класса миграции:
public partial class Foo: Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Foo",
columns: table => new
{
Id = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Foo", x => x.Id);
});
}
}
Но миграция не должна запускаться и создавать таблицу, потому что она уже существует.