可以实体框架6从一个分隔字符串列映射外键?



我试图从数据库中读取,不幸的是,该数据库被设计为将外键存储在分隔的字符串中,而不是单独的表中,并且我没有更改数据库结构的选项。例如:

表1 -Person

"1;3;5" "2,4,6,3"Mary""1;2;3"",4,5,6,

您可以为这个表的项目添加一个局部类,它包含一个属性

public partial class Person
{
public List<int> FruitIds => this.Fruit.Split(';').Select(int.Parse).ToList();
}

但是您只能在代码中的物化数据中使用它,而不能在数据库语句中使用它来自动包含或选择东西。

如果你不能改变一个损坏的数据库,那么你就无能为力了。