我想先更改使用实体框架代码生成的表的名称。
我已经创建了数据库,但现在想更改名称。我已经将项目中所有对"Metadatas"
表的引用更新为"Metadata"
。但是在数据库中生成的表仍然是“Metadatas”。我已经删除并重新创建了数据库,但这似乎也不起作用。使用TableAttribute也是如此。我该怎么办?
谢谢
[Table("Metadata")]
public class Metadata
{
[Required, Key]
public int MetadataId { get; set; }
[Required, ScaffoldColumn(false)]
public int DocumentId { get; set; }
[Required, StringLength(250), DataType(DataType.Text)]
public string Title { get; set; }
...
2条答案
按热度按时间vhipe2zx1#
您有两个选择:
数据注解:
或者我们有Fluent API:
如果你想确保你的领域模型保持整洁,使用Fluent API是首选。
除此之外,如果你只想删除表名的复数形式,你可以用下面的代码行覆盖EF的功能:
toiithl62#
如果您的
DbContext
上有一个DbSet<T>
属性,那么EF可以从该位置获取表名。重命名该属性并运行新迁移以重命名该表。