从基本表创建复杂模型

时间:2013-03-06 21:39:40

标签: c# entity-framework

我不确定如何说出这个问题。基本上我在我的数据库中有一个表,如下所示:

 Table1
 _________
|id       |
|_________|
|services |
|_________|
|solutions|
|_________|

但在我的模型中,我试图将其映射到三个对象:

class studies
{
    public int id {get;set;}
    public List<Service> services {get;set;}
    public List<Solution> solutions {get;set;}
}

class Solution
{
    public int id {get;set;}
    public string description {get;set;}
}

class Service
{
    public int id {get;set;}
    public string description {get;set;}
}

所以我需要做的是从数据库中提取所有表数据,然后将其重新分配给我的类。我该怎么办?我在不允许更改表结构的约束下工作,所以只是重新设计数据库不是一种选择。

1 个答案:

答案 0 :(得分:2)

我将从一组Study对象中的DB中检索数据:

class Study 
{
    public int ID {get; set;}
    public string Solutions {get; set;}
    public string Services {get; set;}
}

然后,我必须遍历集合并解析解决方案和服务字符串,以便为每个组合的两个词典“解决方案”和“服务”解释,其中密钥将分别是每个解决方案和服务的名称,值将是关联的列表服务(用于解决方案密钥)或相关解决方案(用于服务密钥)。类似的东西:

var solutions = new Dictionary<string, List<string>>();
var services = new Dictionary<string, List<string>>();

不确定语法是否正确,但您明白了。填充字典时,请确保不要在任何特定键的解决方案/服务列表中插入重复值。

然后,查找“service1”的可用解决方案列表将类似于:

var service1Solutions = services["service1"];