这可能已经在某个地方被问过,但是我找不到与我正在尝试的完全匹配的问题。
在数据库级别,我有TableB,它只有两个字段 - TableA的外键和nvarchar(max)代码字段。 TableA与TableB之间的关系是一对多。
在EF级别,我想跳过映射TableB。 TableA看起来像这样:
public class TableA
{
public ICollection<string> BCodes {get; set;}
}
我希望从所有相关TableB实体的Code字段填充BCodes。我知道我可以使用数据库中的视图和其他黑客来完成此任务,但这会破坏关注点的分离。这可能是使用EF,还是我必须只使用一个字符串属性映射TableB实体?
更新 我应该澄清一下,对于我的特定情况,这可以是一个只读集合。遇到这个问题的其他人可能有不同的需求,所以如果你有实现它的读/写方式的想法,那也会很棒。
答案 0 :(得分:1)
至少在EF 6.1之前,无法定义基本类型集合(例如字符串集合)。必须间接完成。
我见过的最好方法是this SO answer。
或者您也可以使用支持此功能的NHibernate。例如,you can see this SO question。