如何扩展反向POCO生成器生成的POCO?

时间:2018-10-26 00:55:22

标签: c# model-view-controller poco partial-classes

我使用了反向POCO生成器为我的项目(局部类)生成了pocos。

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

public int NewProperty { get; set; }

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

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

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

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

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

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