我需要创建一个包含过滤结果的实体。
例如。 我有一张桌子学生。 通过设计师,我能够创建学生实体。 当我删除学生时,要求只是更改一个字段deleted = true而不是实际删除。
所以问题是每当我尝试访问学生时,它会提供包括已删除学生在内的整个列表。
所以我必须在使用列表的地方添加代码.where(c=> c.deleted=false)
。
所以要求是创建一个带过滤器的实体。
我尝试使用视图,但它有自己的问题。就像它需要一个主键并且是只读等等。
答案 0 :(得分:1)
答案 1 :(得分:0)
以下给出的解决方案无效。 它仍然给出了下面给出的错误映射。
所以最终选择了一个简单的愚蠢解决方案。添加存储过程。
我保留了以前的答案以供参考。
扩展到ivowiblo的接受答案。
上面为我工作。
除此之外,我不得不做一些改变。
当条件映射完成时,它给出了错误
从第x行开始映射片段的问题:条件成员 'Student.Deleted'的条件不是'IsNull = False' 映射。删除Student.Deleted上的条件或删除它 来自映射。
我从实体中删除了已删除的列作为here的推理。
现在问题是如何删除(标记已删除)学生,因为我的实体没有删除属性。
我做了以下
Student
实体StudentWithDeleted
deleted
列添加到StudentWithDeleted
StudentWithDeleted
实体映射到表student
。现在,当我想删除(标记已删除)学生时,我只需使用StudentWithDeleted
打开find(StudentId)
实体,分配deleted=1
并保存。