我想使用EF存储包含基元列表的对象.
public class MyObject {
public int Id {get;set;}
public virtual IList<int> Numbers {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我知道EF无法存储,但我想知道解决这个问题的可能解决方案.
我能想到的2个解决方案是:
1. 创建一个具有Id和整数值的虚拟对象,例如
public class MyObject {
public int Id {get;set;}
public virtual IList<MyInt> Numbers {get;set;}
}
public class MyInt {
public int Id {get;set;}
public int Number {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
2. 将列表值存储为blob,例如
public class MyObject {
public int Id {get;set;}
/// use NumbersValue to persist/load the list values
public string NumbersValue {get;set;}
[NotMapped]
public virtual IList<int> Numbers { …Run Code Online (Sandbox Code Playgroud)