如何标记谓词中不可使用的属性

时间:2018-09-26 14:05:16

标签: entity-framework

我在模型中使用的属性未映射到数据库字段。 但是它可以在谓词中访问:

Queryable().Where(w => w.MyProperty == "HELLO")


[NotMapped]
public string MyProperty { get; set; }

我如何在谓词中禁止使用此属性?

谢谢

2 个答案:

答案 0 :(得分:0)

我不确定这是否是最好的解决方案,但是如果您想将这些属性保留为模型的一部分,则可以将模型类移动到单独的项目中,并将所有要隐藏的属性标记为{{1 }},除非您指定

,否则只能在该程序集中访问这些属性。
internal

答案 1 :(得分:0)

您需要使用.AsEnumerable()、. ToList()等过渡到内存中查询执行:

EG

content://