我使用了反向POCO生成器为我的项目(局部类)生成了pocos。
然后,我通过使用相同的类名和相同的命名空间创建一个新的部分类(新文件)来扩展我的pocos之一。我添加了新属性,例如:
public int NewProperty { get; set; }
现在,问题是,当我查询数据库时,我看到新属性包含在DBContext中。我看到如下选择语句:SELECT Field1,Field2, NewProperty FROM MyDatabase。
当然,我会收到以下错误: SqlClientException:无效的列名'NewProperty',因为此字段不存在。
如何阻止DBContext将新属性包括在数据库操作中?我在以前的项目中做到了这一点,并且没有任何问题(使用edmx模型)。
谢谢
答案 0 :(得分:1)
如果您使用的是Entity Framework,则可以通过添加NotMapped
属性来使其忽略属性,如下所示:
[NotMapped]
public int NewProperty { get; set; }
如果您愿意,也可以在fluent API中进行设置,对于EF Core应该是这样的:
modelBuilder.Entity<YourClass>().Ignore(t => t.NewProperty);