防止EF数据迁移删除列

本文关键字:删除列 迁移 数据 EF 防止 | 更新日期: 2023-09-27 18:25:49

我有一个SQL Server表,它的列DateCreated默认为getdate()。

CREATE TABLE [dbo].[Group](
    [GroupId] [int] IDENTITY(1,1) NOT NULL,
    [GroupName] [nvarchar](128) NOT NULL,
    [DateCreated] [datetime] NOT NULL
) ON [PRIMARY]

DateCreated字段没有在我的CRUD应用程序中使用,尽管其他应用程序需要它来进行报告。我有一个映射到表的Entity Framework类,但我希望将DateCreated属性从实体类中删除,因为它只是应用程序中的噪声。该值是在插入时自动在数据库中生成的。

我的问题是,每当我生成数据迁移时,该列都会从表中删除,因为它没有在实体模型中表示。

有没有办法将数据库列排除在EF数据迁移之外?

防止EF数据迁移删除列

您是否可以尝试将DateCreated属性设置为internal/private,这样它就不会暴露在代码的其余部分?我在过去使用过Linq-2-SQL ORM,因为我不需要一些暴露在代码/工作中的字段(类似的情况下,一些字段用于将数据导出到另一个系统,这对我的代码来说是不需要的)。