【问题标题】:How to extend POCO generated by Reverse POCO Generator?如何扩展反向 POCO 生成器生成的 POCO?
【发布时间】:2019-03-30 16:45:21
【问题描述】:

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

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

public int NewProperty { get; set; }

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

当然,我收到以下错误:SqlClientException: Invalid column name 'NewProperty' 因为该字段不存在。

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

谢谢

【问题讨论】:

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


    【解决方案1】:

    如果您使用的是实体框架,您可以通过添加 NotMapped 属性使其忽略属性,如下所示:

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

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

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

    【讨论】:

    • 非常感谢。那行得通。我想知道我以前没有使用过这个。
    猜你喜欢
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多