在我的项目中,我们使用 Entity Framework 6 和 Microsoft 的 System.Collections.Immutable types nuget 包。
我们的目标是能够使用 EF 对数据库进行查询,并且默认情况下返回的数据是不可变的。
因为我们有one-to-many
关系,所以在 EF 中我们使用一种List<>
类型来表示我们结构中的关系。但是由于我们希望它是不可变的并且有强有力的保证,所以我们想使用它ImmutableList<>
。
只是将表类属性从更改为List<>
似乎ImmutableList<>
不起作用,因为新的迁移将忽略ImmutableList<>
并删除我们之前的一对多关系。
所以,我的问题是,是否有某种方法可以使 EF 与该ImmutableList<>
类型一起工作,如果没有,还有什么其他方法可以使这个 EF 表结构不可变?