如何扩展 Reverse POCO Generator 生成的 POCO?

How to extend POCO generated by Reverse POCO Generator?

我使用 Reverse POCO Generator 为我的项目生成了 pocos(部分 classes)。

然后,我通过创建一个具有相同 class 名称和相同命名空间的新部分 class(新文件)来扩展我的一个 pocos。我添加了新的属性,例如:

public int NewProperty { get; set; }

现在,问题是,当我查询数据库时,我看到新的 属性 包含在我的 DBContext 中。我看到 select 语句如下:SELECT Field1、Field2、NewProperty FROM MyDatabase。

当然,我收到以下错误:SqlClientException:列名称无效 'NewProperty',因为该字段不存在。

如何阻止 DBContext 在数据库操作中包含我的新 属性? 我在以前的项目中这样做过并且没有任何问题(使用 edmx 模型)。

谢谢

如果您使用 Entity Framework,您可以通过添加 NotMapped 属性使其忽略 属性,如下所示:

[NotMapped]
public int NewProperty { get; set; }

这也可以设置为 fluent API 如果您愿意,对于 EF Core 应该是这样的:

modelBuilder.Entity<YourClass>().Ignore(t => t.NewProperty);