我试图找到一种方法来只填充我的实体类的属性,如果查询中存在该列?
当我使用DbSet.SqlQuery执行查询并返回填充的列(这是一个别名)时,一切都很好。但是当使用内置功能(如All(),Find(),ToArray()等)时,它希望该列位于数据集中。
有没有办法(无需手动编写所有支持查询)来标记我的实体类中的属性,作为可选项。
它目前被标记为可以为空的DateTime,但框架仍然抱怨它在使用内置功能时不存在。
任何建议都会很棒!
干杯
答案 0 :(得分:1)
不,因为他们必须构建SQL查询。一个列是否可以为空可能无关紧要,重要的是当它们构建查询时,如果该列不存在,那么数据库可能会抛出一个错误,抱怨该列不存在。
唯一的解决方法是不映射它,或者在映射和有条件地映射属性时查询模式(尽管我不建议这样做)。