我有一个POCO(普通旧CLR对象)
public Foo
{
public virtual int Id { get; set; }
public virtual Dictionary<string, string> Stuff { get; set; }
public virtual string More { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
使用模型第一种方法(即我还没有数据模型),我将如何处理持久的Stuff(Dictionary)?
我想首先使用EF代码用于我正在使用带有存储过程的普通旧ADO.NET访问的数据库.
在我的数据库中,我有一些nvarchar(MAX)列应该映射到a和Dictionary<string, string>.
保存到数据库时,它是XML格式的字符串.我使用这种技术来允许例如在线商店中的产品名称的国际化.我不知道任何给定用户想要翻译多少种语言,所以我不能Name为每种语言提供一列.
我还想避免将值存储在一个单独的表中,所以我最终得到了Dictionary - XML方法.
我现在这样做的方法是,每当我与数据库交互时,只将这些列中的任何一个视为字符串.我有一个自定义映射器函数,可以将XML转换为字典,然后返回到XML.
但我似乎无法首先找到使用EF Code执行此操作的方法?有任何想法吗?